Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尽管可用,Selenium Chromedriver服务器仍超时_Java_Selenium_Selenium Chromedriver - Fatal编程技术网

Java 尽管可用,Selenium Chromedriver服务器仍超时

Java 尽管可用,Selenium Chromedriver服务器仍超时,java,selenium,selenium-chromedriver,Java,Selenium,Selenium Chromedriver,我有一个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 allow

我有一个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
但是,当我在浏览器中打开时,会得到有效的响应:

{"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.
显然表明该实例未被启动。因此,驾驶员信息保留为空白,如下所示:

Driver info: driver.version: ChromeDriver
哪个inturn产生错误:

org.openqa.selenium.net.UrlChecker$TimeoutException


在代码块不可见的情况下,很难猜测实际原因,但通常我们可以通过从中下载二进制文件并在初始化WebDriver实例时传递ChromeDriver的绝对路径来解决此问题,如下所示:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
driver = new ChromeDriver();

要点:
  • 始终使用最新版本的Selenium客户端和ChromeDriver二进制文件
  • 始终保持浏览器的自动更新处于启用状态
  • 始终保持JDK版本的更新(当前版本为JDK 8u241)

相同版本的Chrome浏览器?是的,相同版本的Chrome浏览器。他们得到一个“非法监视器状态异常”,但它会启动chrome浏览器。我的实例甚至没有这样做。您是否向chromedriver授予了执行权限?是的,它具有执行权限,如果我直接运行它,我将获得“启动chromedriver 2.34.522932”(4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e)输出在端口9515上,只允许本地连接。“我想问题是您的本地主机正在解析到IPv6地址。很抱歉,我显然关注的是收到的错误,没有看到/忽略初始化日志。我现在已经将其包含在输出中-它显然正在启动驱动程序(我甚至可以连接到端点),但由于某些原因,selenium无法与chromedriver服务器通信前两行-启动chromedriver 2.34.522932(4140AB217E1CA1BEC0C4B4D148F3361EB3A03E)在端口18633上,仅允许本地连接。但您仍然面临
WebDriverException:等待驱动程序服务器启动时超时。
对外观解决方案没有影响。您尝试过我的解决方案吗?我尝试过设置系统属性,得到了相同的结果。然而,更新我的JDK版本似乎已经解决了这个问题,所以我将把它标记为答案。谢谢你的建议!
System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
driver = new ChromeDriver();