【发布时间】:2020-02-13 21:59:04
【问题描述】:
我有一个 Java Selenium 项目,它不能在我的机器上运行,但可以在具有相同操作系统版本 (OSX 10.13.1)、Chrome 浏览器版本 (63.0.3239.84) 和 chromedriver 版本 (2.34) 的同事机器上运行)。我收到消息:
Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) on port 18633
Only local connections are allowed.
org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
System info: host: 'localhost', ip: 'fe80:0:0:0:1cc9:e0ab:f4e5:dd34%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.1', java.version: '1.8.0_20'
Driver info: driver.version: ChromeDriver
...
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:18633/status] to be available after 20005 ms
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)
... 28 more
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:149)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
... 29 more
但是,当我在浏览器中打开 http://localhost:18633/status 时,我得到了一个有效的响应:
{"sessionId":"","status":0,"value":{"build":{"version":"alpha"},"os":{"arch":"x86_64","name":"Mac OS X","version":"10.13.1"}}}
我试过换掉 chromedriver 二进制文件,但我不确定还能做什么。我在 geckodriver 上遇到了类似的问题,但这可能是也可能不是同一个问题。 我还尝试在我的系统上创建一个新用户并从该帐户运行它,以考虑用户设置 - 不走运。
我在这里缺少什么?哪些信息有助于调试此问题?
【问题讨论】:
-
Chrome浏览器版本相同?
-
是的,Chrome 版本相同。他们得到一个“IllegalMonitorStateException”,但它会启动 chrome 浏览器。我的实例甚至没有这样做
-
你给chromedriver执行权限了吗?
-
是的,它具有执行权限,如果我直接运行它,我会得到输出“在端口 9515 上启动 ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) 仅允许本地连接。”
-
我认为问题在于您将 localhost 解析为 IPv6 地址。
标签: java selenium selenium-chromedriver