SessionNotCreatedException:未创建会话:此版本的ChromeDriver仅支持使用Selenium ChromeDriver的Chrome版本77

时间:2019-08-20 06:30:01

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver

我正在使用 ChromeDriver 77.0.3865.10

Google Chrome版本76.0.3809.100(官方内部版本)(64位)

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)

用于Java开发人员的Eclipse IDE版本:2019-06 (4.12.0)

  

Windows 10

我尝试重新安装Windows以具有全新的操作系统,但仍然无济于事。

代码试用:

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");
    }
}

错误:

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)

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

此错误消息...

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

...表示 ChromeDriver 无法启动/产生新的 WebBrowser ,即 Chrome浏览器会话。

您的主要问题是所使用的二进制版本之间的不兼容性

  • 您正在使用 chromedriver = 77.0
  • chromedriver=77.0的发行说明中明确提到以下内容:
  

支持 Chrome 77版本

  • 您正在使用 chrome = 76.0
  • ChromeDriver v76.0的发行说明中明确提到以下内容:
  

支持 Chrome 76版

因此 ChromeDriver v77.0 Chrome浏览器v76.0

之间存在明显的不匹配

解决方案

确保:

  • ChromeDriver 已更新为当前的ChromeDriver v76.0级别。
  • Chrome 已更新为当前的 Chrome版本76.0 级别。 (根据ChromeDriver v76.0 release notes
  • 通过您的 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项。
  • 如果您的基本 Web客户端版本过旧,请通过Revo Uninstaller进行卸载,并安装最新版本的 Web客户端。 li>
  • 进行系统重启
  • 非root用户用户的身份执行@Test

答案 2 :(得分:0)

您需要下载Chrome驱动程序。为此版本,这是您的版本链接。您可以点击并下载:clock_nanosleep

答案 3 :(得分:-1)

是的,您需要下载与Chrome Web浏览器版本匹配的驱动程序版本,并确保JRE版本为enter image description here