Lis*_*Qiu 32 linux selenium-chromedriver
我在 Centos 7 平台下载了最新版本的 chromedriver:https : //chromedriver.storage.googleapis.com/index.html?path = 74.0.3729.6 /我启动 chromedriver 并收到此错误。
错误 :
Starting ChromeDriver 74.0.3729.6 (255758eccf3d244491b8a1317aa76e1ce10d57e9-refs/branch-heads/3729@{#29}) on port 9515
Only local connections are allowed.
Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
[1556179366.141][SEVERE]: bind() failed: Cannot assign requested address (99)
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
Yar*_*min 24
在我的情况下,chromedriver使用--verboseflag运行有助于找出问题:
[1564749154.010][SEVERE]: bind() failed: Cannot assign requested address (99)
[1564749154.011][INFO]: listen on IPv6 failed with error ERR_ADDRESS_INVALID
Run Code Online (Sandbox Code Playgroud)
Chrome 尝试侦听 IPv6 地址,但未在 Docker 中启用。您可以启用 IPv6支持(仅适用于 Linux 主机)或忽略错误,因为chromedriver进程无论如何都会侦听 IPv4。
Ass*_*NET 13
我设法通过添加参数来解决方法,如下所示(Python)
options = webdriver.ChromeOptions()
options.add_argument('--disable-dev-shm-usage')
Run Code Online (Sandbox Code Playgroud)
这是来自Google 的故障排除提示:
默认情况下,Docker运行一个
/dev/shm共享内存空间为64MB的容器。这对于 Chrome 来说通常太小,并且会导致 Chrome 在渲染大页面时崩溃。要修复此问题,请使用 docker run 运行容器--shm-size=1gb以增加/dev/shm. 从 Chrome 65 开始,不再需要这样做。相反,使用--disable-dev-shm-usage标志启动浏览器
Get*_*toX 12
在一个行:你需要传递--whitelisted-ips=到镀铬的驱动程序(不是浏览器!)
你可以用不同的方式来做(取决于你的环境设置):
如果您从代码中本地/直接使用 ChromeDriver(不使用 RemoteWebDriver),只需在 ChromeDriver init 之前插入以下行
System.setProperty("webdriver.chrome.whitelistedIps", "");
Run Code Online (Sandbox Code Playgroud)
如果你远程使用它(例如 selenium hub/grid),你需要在节点启动时设置系统属性,就像在命令中一样:
java -Dwebdriver.chrome.whitelistedIps= testClass etc...
Run Code Online (Sandbox Code Playgroud)
或 docker 通过传递JAVA_OPTSenv
java -Dwebdriver.chrome.whitelistedIps= testClass etc...
Run Code Online (Sandbox Code Playgroud)
原因在其他地方。我在 docker 容器上运行 chrome,对我来说,当驱动程序在无头模式下运行时,这个问题就解决了。
ChromeOptions options = new ChromeOptions().setHeadless(true);
WebDriver driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)
结果:现在测试成功运行,没有任何错误。
| 归档时间: |
|
| 查看次数: |
32748 次 |
| 最近记录: |