org.openqa.selenium.NoSuchSessionException:无效的会话ID message =此版本的ChromeDriver仅支持Chrome版本74

时间:2019-08-03 16:45:08

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

我也试图连接到Chrome版本76和chromedriver 76!

我尝试了所有版本的chromedriver,但似乎没有人在工作

org.openqa.selenium.NoSuchSessionException: invalid session id
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 12 milliseconds
Build info: version: '3.3.1', revision: '5234b325d5', time: '2017-03-10 09:10:29 +0000'
System info: host: 'KASTIOT', ip: '192.168.0.104', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{message=session not created: This version of ChromeDriver only supports Chrome version 74
  (Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64), platform=ANY}]
Session ID: 85ef5c2570c97d5b10f13f818d4096f4
  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.ErrorHandler.createThrowable(ErrorHandler.java:216)
  at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:168)
  at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:638)
  at org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:325)
  at org.openqa.selenium.remote.RemoteWebDriver$RemoteNavigation.to(RemoteWebDriver.java:915)
  at stepdefs.websitesteps.ZitiCard.goToWebsite(ZitiCard.java:30)
  at ✽.Given Go to website(C:/Users/lotib/Desktop/recyclego 2/src/test/java/website/ZitiCard.feature:5)

要确保它转到我写下的链接并按照方案进行操作?

帮助会很棒:)

3 个答案:

答案 0 :(得分:2)

我遇到了类似的问题。只需将 --disable-dev-shm-usage 传递给 chrome 即可。

<块引用>

Chrome 崩溃

Chrome 使用 /dev/shm 存储运行时数据,在 Docker 下默认为 64MB。如果这还不够,那么这可能会导致 Chrome 崩溃。可能的解决方法:

  • 增加 /dev/shm 的大小
  • 将 /dev/shm 挂载到主机的
  • 使用 --disable-dev-shm-usage 标志启动 Chrome

来源:https://github.com/markhobson/docker-maven-chrome#chrome-crashes

答案 1 :(得分:0)

当您尝试在webdriver.quit()之后执行任何操作时,会发生NoSuchSessionExpection。 确保在webdriver.quit()之后没有调用任何命令。

答案 2 :(得分:0)

此错误消息...

org.openqa.selenium.NoSuchSessionException: invalid session id
(Driver info: chromedriver=74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}),platform=Windows NT 10.0.17134 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 12 milliseconds
Build info: version: '3.3.1', revision: '5234b325d5', time: '2017-03-10 09:10:29 +0000'
System info: host: 'KASTIOT', ip: '192.168.0.104', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_111'

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

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

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

支持 Chrome v74

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

支持 Chrome 75

  • 您的 Selenium Client 版本是 2017-03-10 09:10:29 +0000 3.3.1 ,几乎是 2 岁。
  • 您的 JDK版本 1.8.0_111 ,非常古老。

因此 JDK v8u111 Selenium Client v3.3.1 ChromeDriver v74.0 之间存在明显的不匹配Chrome浏览器v75.0


解决方案

确保满足以下条件:

  • JDK 已升级到当前级别JDK 8u212
  • 已升级到当前级别Version 3.141.59
  • ChromeDriver 已更新为当前的ChromeDriver v76.0级别。
  • Chrome 已更新为当前的 Chrome版本76.0 级别。 (根据ChromeDriver v76.0 release notes
  • 通过您的 IDE
  • 清理您的项目工作区重建您的项目,并且仅具有必需的依赖项。
  • 进行系统重启
  • 非root用户用户的身份执行@Test