【问题标题】:com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java) with ChromeDriver and Chrome using Selenium and Javacom.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java) 与 ChromeDriver 和 Chrome 使用 Selenium 和 Java
【发布时间】:2019-04-05 07:41:36
【问题描述】:

我正在尝试简单地启动 chrome 驱动程序,但遇到了一些超时错误。浏览器确实启动,但几秒钟后关闭,但有以下异常:

系统信息:

Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'
Driver info: driver.version: ChromeDriver] with root cause
at java.util.concurrent.FutureTask.get(FutureTask.java:205)
~[na:1.8.0_172]     at
com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
~[guava-25.0-jre.jar:na]    at
org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:188)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverService.start(DriverService.java:179)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
~[selenium-remote-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
~[selenium-chrome-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
~[selenium-chrome-driver-3.14.0.jar:na]     at
org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
~[selenium-chrome-driver-3.14.0.jar:na]     at
com.example.tests.bl.impl.AutomationRunner.run(AutomationRunner.java:29)
~[classes/:na]

代码片段:

@Component
public class AutomationRunner implements IAutomationRunner {



    @Override
    public void run() throws MalformedURLException {
        System.setProperty("webdriver.chrome.driver",
            "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome");

        ChromeDriver driver = new ChromeDriver();
        driver.get("www.google.com");
        driver.close();
        driver.quit();
    }
}

使用过的包:

 <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.141.59</version>
 </dependency>

知道我在这里想念什么吗?谢谢!

【问题讨论】:

标签: java selenium google-chrome selenium-webdriver selenium-chromedriver


【解决方案1】:

此错误消息...

Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'
System info: host: 'MAC-images-MacBook-Pro-1164.local', ip: '----', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.6', java.version: '1.8.0_172'
Driver info: driver.version: ChromeDriver
.
com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
~[guava-25.0-jre.jar:na]    at
org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)

...暗示 ChromeDriver 无法启动/生成新的 WebBrowserChrome 浏览器 会话。

您的主要问题是在 System.setProperty() 行中,您传递了 Google Chrome 二进制文件的 绝对路径 而不是 ChromeDriver em> 二进制。


解决方案

您需要下载适用于 Mac OS X 的相关 ChromeDriver 二进制文件,即 chromedriver_mac64 并将其放在系统中的任何位置,解压缩 ChromeDriver 二进制并在System.setProperty() 中传递绝对路径,如下所示:

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

【讨论】:

    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 2019-09-20
    • 2020-09-24
    • 1970-01-01
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多