简体   繁体   中英

SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77 using Selenium ChromeDriver

I am using ChromeDriver 77.0.3865.10

Google Chrome Version 76.0.3809.100 (Official Build) (64-bit)

C:\WINDOWS\system32>java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)

Eclipse IDE for Java Developers Version: 2019-06 (4.12.0)

Windows 10

I am tried reinstalling my windows to have a fresh OS, but it still didn't help the situation.

Code trials:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class One {

    public static void main(String[] args) {

        System.setProperty("webdriver.chrome.driver", "C:\\Work\\chromedriver_win32\\chromedriver.exe");
        WebDriver Driver=new ChromeDriver();
        Driver.get("http://www.yahoo.com");
    }
}

Error:

Starting ChromeDriver 77.0.3865.10 (bc3579f611bbc73331171afe020ec7a45e6ccc55-refs/branch-heads/3865@{#93}) on port 32932
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
Exception in thread "main" 
org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'LAPTOP-P9CFNEOV', ip: '172.20.10.12', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_222'
Driver info: driver.version: ChromeDriver
remote stacktrace: Backtrace:
Ordinal0 [0x0046EBD3+1502163]
Ordinal0 [0x003EF781+980865]
Ordinal0 [0x0037763F+489023]
Ordinal0 [0x0030F2F4+62196]
Ordinal0 [0x0030BCDA+48346]
Ordinal0 [0x003297E0+169952]
Ordinal0 [0x0032940D+168973]
Ordinal0 [0x003278EB+162027]
Ordinal0 [0x00310AC7+68295]
Ordinal0 [0x00311B40+72512]
Ordinal0 [0x00311AD9+72409]
Ordinal0 [0x00408FE7+1085415]
GetHandleVerifier [0x0050D8AD+503293]
GetHandleVerifier [0x0050D640+502672]
GetHandleVerifier [0x0051471C+531564]
GetHandleVerifier [0x0050E0BA+505354]
Ordinal0 [0x004006B6+1050294]
Ordinal0 [0x0040052F+1049903]
Ordinal0 [0x0040B04B+1093707]
Ordinal0 [0x0040B1B3+1094067]
Ordinal0 [0x0040A145+1089861]
BaseThreadInitThunk [0x75988494+36]
RtlAreBitsSet [0x775641C8+136]
RtlAreBitsSet [0x77564198+88]

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.W3CHandshakeResponse.lambda$errorHandler$0(W3CHandshakeResponse.java:62)
at org.openqa.selenium.remote.HandshakeResponse.lambda$getResponseFunction$0(HandshakeResponse.java:30)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:126)
at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:499)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:486)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:531)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:128)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:74)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at One.main(One.java:10)

您应该下载此驱动程序并将其替换为您的 chrome 驱动程序Chrome 驱动程序

This error message...

Starting ChromeDriver 77.0.3865.10 (bc3579f611bbc73331171afe020ec7a45e6ccc55-refs/branch-heads/3865@{#93}) on port 32932 
Only local connections are allowed. 
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code. 
Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 77 
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11- 14T08:25:48' 
System info: host: 'LAPTOP-P9CFNEOV', ip: '172.20.10.12', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_222' 
Driver info: driver.version: ChromeDriver

...implies that the ChromeDriver was unable to initiate/spawn a new WebBrowser ie Chrome Browser session.


Your main issue is the incompatibility between the version of the binaries you are using as follows:

  • You are using chromedriver=77.0
  • Release Notes of chromedriver=77.0 clearly mentions the following :

Supports Chrome version 77

  • You are using chrome= 76.0
  • Release Notes of ChromeDriver v76.0 clearly mentions the following :

Supports Chrome version 76

So there is a clear mismatch between the ChromeDriver v77.0 and the Chrome Browser v76.0


Solution

Ensure that:

  • ChromeDriver is updated to current ChromeDriver v76.0 level.
  • Chrome is updated to current Chrome Version 76.0 level. (as per ChromeDriver v76.0 release notes )
  • Clean your Project Workspace through your IDE and Rebuild your project with required dependencies only.
  • If your base Web Client version is too old, then uninstall it through Revo Uninstaller and install a recent GA and released version of Web Client .
  • Take a System Reboot .
  • Execute your @Test as non-root user.

Reference

You can find a relevant detailed discussion in:

您需要下载 Chrome 驱动程序到此版本这里是您的版本链接您可以单击并下载: https : //chromedriver.storage.googleapis.com/index.html?path=77.0.3865.10/

Try this, it worked for me. On Mac/Unix based systems.

  1. Check your local Chrome version. Then go to: https://chromedriver.storage.googleapis.com/index.html Download the matching major release (minor build version doesn't appear to matter) - eg 95.local to 95.driver)

  2. Extract and click the driver. Apple security won't allow for it to be opened. Go to Security, General and Allow.

  3. Replace the chromedriver in automation repo/drivers/mac with the new driver.

  4. Replace the chromedriver in /usr/local/bin (or other system paths > can be checked via sudo nano /etc/paths)

  5. Ensure you have the matching driver via Terminal > chromedriver --version

Now run your test, should work! Came around this thread, but it was trial and error ftw! :)

Yes, you need to download the matching driver version of your Chrome Web Browser version, and make sure JRE version is在此处输入图片说明

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM