我正在运行Ubuntu 18.04.1 LTS,并长期成功使用Google Chrome v81和兼容的chrome驱动程序v81的稳定版本。 重新安装google-chrome-stable
最多83.0.4103.61
并将 chrome 驱动程序更新到83.0.4103.39
.根据官方页面,它们是完全兼容的。 但是在这些更新之后,我收到错误unable to connect to renderer
.
我的能力保持不变:
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: [
'--headless',
'--disable-gpu',
'--no-sandbox',
'--remote-debugging-port=9222',
'--ignore-certificate-errors',
'--allow-insecure-localhost'
]
}
}
完整的错误消息如下:
[11:07:05] E/launcher - session not created
from disconnected: unable to connect to renderer
(Session info: headless chrome=83.0.4103.61)
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: '******', ip: '******', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-38-generic', java.version: '10.0.2'
Driver info: driver.version: unknown
remote stacktrace: #0 0x5633488fb579 <unknown>
我的网络驱动程序管理器状态:
[11:24:59] I/status - selenium standalone version available: 3.141.59 [last]
[11:24:59] I/status - chromedriver version available: 83.0.4103.39 [last]
[11:24:59] I/status - geckodriver version available: v0.26.0 [last]
[11:24:59] I/status - android-sdk is not present
[11:24:59] I/status - appium is not present
有没有人遇到同样的问题并知道如何正确解决它或回滚到 v81?任何建议将不胜感激。
附言 1( 相同的配置在最新的 MacOS 2 上本地运行良好( 我没有成功启动带有驱动程序 v81chromium-browser
v81,可能是以错误的方式进行了回滚。
问题已解决。问题是我使用的是参数--remote-debugging-port=9222
。但有一天,谷歌浏览器进程陷入了致命的困境并占领了港口。因此,当chromedriver启动google-chrome时,它无法访问繁忙的端口进行调试,并且只是退出而没有错误。这就是为什么Chrome驱动程序无法访问google-chrome并发送unable to connect to renderer
错误的原因。 解决方案是:
- 杀死占用端口的冻结进程
- 在真正需要时使用调试端口
- 使用直接连接到ChromeDriver可以减少"层数",从而提高整体稳定性