Selenium Chrome浏览器org.openqa.selenium.WebDriverException:等待驱动程序服务器启动时超时

时间:2018-10-15 16:59:36

标签: selenium selenium-webdriver selenium-chromedriver

public class Dem {
    public static void main(String[] args) throws InterruptedException {
    WebDriver driver;
    String url = "https://www.google.com";
    System.setProperty("webdriver.chrome.driver","C:\\Users\\Jim\\Downloads\\chromedriver_win32\\chromedriver.exe");
    driver = new ChromeDriver();
    driver.get(url);
    driver.close();
    }
}

Selenium Webdriver和Chrome驱动程序是 最新版本

Selenium webdriver:3.14.0

chromedriver:2.42

java:1.8.0_181

这是运行代码后的错误。 Google Chrome根本无法启动。

  

严重:org.apache.commons.exec.ExecuteException:进程退出,错误为:-1073741792(退出值:-1073741792)中的异常   线程“主要” org.openqa.selenium.WebDriverException:超时   等待驱动程序服务器启动。构建信息:版本:“ 3.14.0”,   修订:'aacccce0',时间:'2018-08-02T20:13:22.693Z'驱动程序信息:   driver.version:位于的ChromeDriver   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:193)     在   org.openqa.selenium.remote.service.DriverService.start(DriverService.java:179)     在   org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)     在   org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)     在   org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)     在   org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:130)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:181)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:168)     在   org.openqa.selenium.chrome.ChromeDriver。(ChromeDriver.java:123)     at news.Dem.main(Dem.java:17)由以下原因引起:   org.openqa.selenium.net.UrlChecker $ TimeoutException:等待超时   为[http://localhost:32986/status]在20002毫秒后可用   org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)     在   org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:188)     ...还有9个

2 个答案:

答案 0 :(得分:3)

调试步骤

可能是以下两个问题之一。

1。 Chrome驱动程序由于某种原因无法启动:

手动在终端中运行Chrome驱动程序

C:\ Users \ Jim> C:\Users\Jim\Downloads\chromedriver_win32\chromedriver.exe

现在,我们必须获得以下消息,指示服务器已成功启动。 enter image description here

如果未收到上述消息且服务器未启动,请检查出什么错误并正确响应?可能下载了损坏的二进制文件,请重新下载。

2。无法访问主机名为localhost

的chrome驱动程序

如果您能够按照上述步骤成功启动chromedriver,现在尝试使用相应的端口访问以下网址。 http://localhost:{port}/status

例如,在上述消息中,服务器在端口9515上启动。访问浏览器http://localhost:9515/status中的网址

enter image description here

您应该获得上面的消息,指示服务器可以通过主机名localhost来访问

如果您无法访问,请使用管理员权限在编辑器中打开C:\ Windows \ System32 \ drivers \ etc \ hosts并检查localhost DNS是否已映射到127.0.0.1

enter image description here

答案 1 :(得分:-1)

public class Demo {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","\PATH OF THE DRIVER");
        WebDriver driver = new Chrome driver();
        String url = "https://www.google.com";
        driver.get(url);
        Thread.sleep(2000);
        driver.close();
    }
}