提问人:Neha Gupta 提问时间:11/11/2019 最后编辑:undetected SeleniumNeha Gupta 更新时间:11/18/2022 访问量:18163
如何修复 [1573451709.039][警告]:连接到 Chrome 超时,正在重试...使用 Chrome 版本 78 和 Chrome 驱动程序版本 78.0.3904.70 时
How to fix [1573451709.039][WARNING]: Timed out connecting to Chrome, retrying... while using chrome version 78 and chrome driver version 78.0.3904.70
问:
我的 Chrome 浏览器已更新到版本 78,当我尝试执行任何自动化代码时,它显示错误
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1573451703.668][WARNING]: Timed out connecting to Chrome, retrying...
Nov 11, 2019 11:25:05 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
[1573451709.039][WARNING]: Timed out connecting to Chrome, retrying...
我该如何解决?
答:
2赞
undetected Selenium
11/11/2019
#1
此错误消息...
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1573451703.668][WARNING]: Timed out connecting to Chrome, retrying...
Nov 11, 2019 11:25:05 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C
[1573451709.039][WARNING]: Timed out connecting to Chrome, retrying...
...意味着 ChromeDriver 无法启动/生成新的 WebBrowser,即 Chrome 浏览器会话。
分析
第一条日志消息:
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
是使用 ChromeDriver 时启动日志的一部分,本质上是信息性的。
您可以在如何保护 chromedriver 使用的端口中找到详细的讨论?
以下日志消息:
[1573451703.668][WARNING]: Timed out connecting to Chrome, retrying...
表示您正在使用的二进制文件版本之间存在一些不兼容。
溶液
确保:
- JDK 已升级到当前级别 JDK 8u222。
- Selenium 已升级到当前级别 版本 3.141.59。
- ChromeDriver 已更新到当前的 ChromeDriver v78.0 级别。
- Chrome 已更新到当前的 Chrome 版本 78.0 级别。(根据 ChromeDriver v78.0 发行说明)
- 通过 IDE 清理项目工作区,然后仅使用所需的依赖项重新生成项目。
- (仅限 WindowsOS)使用 CCleaner 工具清除测试套件执行前后的所有操作系统杂务。
- (仅限 LinuxOS)在执行测试套件之前和之后释放并释放 Ubuntu/Linux Mint 中未使用/缓存的内存。
- 如果基本 Web 客户端版本太旧,请将其卸载并安装最新的 GA 和已发布的 Web 客户端版本。
- 重新启动系统。
- 以非 root 用户身份执行。
@Test
- 始终在方法内调用以优雅地关闭和销毁 WebDriver 和 Web 客户端实例。
driver.quit()
tearDown(){}
0赞
Julio
11/12/2019
#2
我必须更新到 chrome 79 的开发版本和 chromedriver 的最新开发版本才能使其正常工作。虽然我遇到了这个版本的其他问题,所以我不知道这是否是一个好的解决方案。
评论
0赞
undetected Selenium
11/19/2019
您的答案与已经公布的其他答案有何不同?
2赞
nimodka
11/18/2022
#3
我已经通过将我的代码从以下位置更改来修复此超时/连接重置问题:
public void AfterScenario(Scenario sc) {
driver.close();
driver.quit();
driver = null;
}
自:
public void AfterScenario(Scenario sc) {
driver.quit();
driver = null;
}
所以基本上我删除了driver.close(),这解决了我的问题。我不知道为什么会这样,但专家可以解释更多......
评论