java - org.openqa.selenium.WebDriverException: disconnected: not connected to DevTools error using ChromeDriver Chrome using Selenium and Java
问题描述
我看到以下错误并且浏览器之间断开连接。它只发生在 chrome 上。我使用的硒版本是:
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
错误堆栈跟踪:
[1579632222.785][SEVERE]: Unable to receive message from renderer
org.openqa.selenium.WebDriverException: disconnected: not connected to DevTools
(Session info: chrome=79.0.3945.117)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
System info: host: 'MBP15-PBJGH8.8x8.com', ip: 'fe80:0:0:0:1846:114d:10a6:bf26%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.14.6', java.version: '1.8.0_201'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.117, chrome: {chromedriverVersion: 78.0.3904.70 (edb9c9f3de024..., userDataDir: /var/folders/mz/2_llwtkx31d...}, goog:chromeOptions: {debuggerAddress: localhost:54446}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
Session ID: 3577826ba5ac2d089a34e17f9aa987c9
解决方案
此错误消息...
org.openqa.selenium.WebDriverException: disconnected: not connected to DevTools
(Session info: chrome=79.0.3945.117)
.
.
Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 79.0.3945.117, chrome: {chromedriverVersion: 78.0.3904.70 (edb9c9f3de024..., userDataDir: /var/folders/mz/2_llwtkx31d...}, goog:chromeOptions: {debuggerAddress: localhost:54446}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: MAC, platformName: MAC, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify}
...意味着ChromeDriver无法启动/产生新的浏览上下文,即Chrome 浏览器会话。
您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
- 您正在使用chromedriver=78.0
- chromedriver=78.0的发行说明清楚地提到了以下内容:
支持Chrome v78
- 您正在使用chrome=79.0
- ChromeDriver v79.0的发行说明清楚地提到了以下内容:
支持Chrome 79
因此ChromeDriver v78.0和Chrome Browser v79.0之间存在明显的不匹配
解决方案
确保这件事:
- ChromeDriver已更新至当前ChromeDriver v79.0.3945.36级别。
- Chrome已更新到当前的Chrome 版本 79.0级别。(根据ChromeDriver v79.0 发行说明)
- 通过IDE清理项目工作区并仅使用所需的依赖项重建项目。
- 如果您的基本Web 客户端版本太旧,请卸载它并安装最新的 GA 和已发布版本的Web 客户端。
- 重新启动系统。
@Test
以非 root用户身份执行。- 始终
driver.quit()
在tearDown(){}
方法内调用以优雅地关闭和销毁WebDriver和Web Client实例。
推荐阅读
- sql - 如何获取其中包含空格的列值?
- haskell - 为什么在使用 csv-conduit 时有时会得到“没有使用 `intoCSV` 产生的 CSV 文本实例”?
- ios - Office 无法加载仅适用于 IOS 的 Outlook Web 插件
- python - 包含在 css 文件中的图像(jpg)文件未在 Django 2.1 中加载
- artifactory - JFrog Artifactory docker 镜像的“启动帐户”的凭据是什么?
- sql-server - SQL Query XML for Extended Events system table for Session object (not data file) in predicate_XML field
- javascript - 混合类型的地图功能中的打字稿类型问题反应
- python - 如何在 PyQt 中嵌入 scikitplot?
- c++ - 带有连接控制块和自定义删除器的 std::shared_ptr
- javascript - 跨电子表格中的特定工作表运行脚本