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 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上遇到了类似的问题,但可能不是相同的问题。我也尝试过在系统上创建一个新用户,并使用该帐户运行该用户,以适应用户设置-

祝您好运。

我在这里想念什么?什么信息将有助于调试此问题?

回答:

错误说明了一切:

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 ClientChromeDriver 二进制文件。
  • 始终保持 *
  • 始终保持 版本更新(当前版本为 JDK 8u241

以上是 Selenium Chromedriver服务器超时,尽管可用 的全部内容, 来源链接: utcz.com/qa/428304.html

回到顶部