Selenium Chromedriver服务器超时,尽管可用
我有一个Java Selenium项目,该项目不会在我的计算机上运行,但会在具有相同OS版本(OSX
10.13.1),Chrome浏览器版本(63.0.3239.84)和chromedriver版本(2.34)的同事的计算机上运行。我收到消息:
Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) on port 18633Only 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上遇到了类似的问题,但可能不是相同的问题。我也尝试过在系统上创建一个新用户,并使用该帐户运行该用户,以适应用户设置-
祝您好运。
我在这里想念什么?什么信息将有助于调试此问题?
回答:
错误说明了一切:
org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
清楚表明WebDriver实例未启动。因此, 驱动程序信息 保留为 :
Driver info: driver.version: ChromeDriver
哪个会产生错误:
org.openqa.selenium.net.UrlChecker$TimeoutException
和
java.util.concurrent.TimeoutException
很难在没有代码块可见性的情况下猜测实际原因,但是通常我们可以通过以下方式解决此问题:从此存储库下载ChromeDriver二进制文件,并在初始化 WebDriver 实例时传递 ChromeDriver
的绝对路径,如下所示:
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");driver = new ChromeDriver();
回答:
- 始终使用 版本的 Selenium Client 和 ChromeDriver 二进制文件。
- 始终保持 *
- 始终保持 版本更新(当前版本为 JDK 8u241 )
以上是 Selenium Chromedriver服务器超时,尽管可用 的全部内容, 来源链接: utcz.com/qa/428304.html