【问题标题】:org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start while initiating Chrome browser through Seleniumorg.openqa.selenium.WebDriverException:通过 Selenium 启动 Chrome 浏览器时等待驱动程序服务器启动超时
【发布时间】:2019-03-08 07:50:32
【问题描述】:

我无法在 chrome 浏览器中输入 URL,因为当前浏览器正在打开,但 URL 没有自动输入。 他们可能是浏览器的一些问题。

代码是:

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;


public class OpenBidAssist {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
        System.out.println("TEST1");
        WebDriver driver=new ChromeDriver();
        WebDriverWait wait=new WebDriverWait(driver, 20);
        System.out.println("TEST2");
        driver.get("https://stg-cipher-fe.ofbusiness.in/");
        System.out.println("TEST3");
    }
}

我得到的错误是:

TEST1
Created new window in existing browser session.
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'ofbl219-Latitude-3480', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-49-generic', java.version: '1.8.0_181'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:202)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:188)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at OpenBidAssist.main(OpenBidAssist.java:13)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:11320/status] to be available after 20006 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197)
    ... 9 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:156)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
    ... 10 more

谁能帮帮我。 提前致谢,

【问题讨论】:

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


    【解决方案1】:

    此错误消息...

    Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
    

    ...表示您的程序无法启动/生成新的 WebDriverChromeDriver 进程。

    您的主要问题是您传递给System.setProperty() 行的

    您需要传递 ChromeDriver 的绝对路径,而不是 Google Chrome 客户端二进制文件的绝对路径。所以你需要:

    • 变化:

      "/usr/bin/google-chrome"
      
    • 与:

      "/path/to/chromedriver"
      

    基本上,您需要:

    • 变化:

      System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
      
    • 与:

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

    注意:您可以从ChromeDriver - WebDriver for Chrome下载相关版本的ChromeDriver

    【讨论】:

      【解决方案2】:

      替换System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");

      exe文件的路径如System.setProperty("webdriver.chrome.driver", "your path of Driver/chromedriver.exe");

      【讨论】:

      • 新代码:- public static void main(String[] args) { System.setProperty("webdriver.chrome.driver", "/opt/google/chrome/google-chrome"); WebDriver driver=new ChromeDriver(); System.out.println("TEST2"); driver.get("stg-cipher-fe.ofbusiness.in/"); } } 错误:-“无法设置推荐人策略:值'strict-origin'不是'always','default','never','no-referrer'之一、'no-referrer-when-downgrade'、'origin'、'origin-when-crossorigin' 或 'unsafe-url'。推荐人策略保持不变。”,来源:google.com/_/chrome/newtab?espv=2&ie=UTF-8
      【解决方案3】:

      从您的代码中可以清楚地看出您正在尝试创建 ChromeDriver,但可执行文件的路径不正确。

      chromedriver downloads下载最新的ChromeDriver可执行文件

      然后替换

      System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");

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

      【讨论】:

        【解决方案4】:

        我们花费了大量时间来弄清楚为什么我们在构建服务器上遇到了这个确切的错误,而不是在开发人员站上。未安装 Chrome 时会出现此错误。 ChromeDriver.exe 的路径可以是完美的,但如果您还没有 Chrome,您仍然会收到此错误。当您手动运行 ChromeDriver.exe 时,它​​会在未安装 Chrome 的情况下启动并响应,您可以在 http://localhost:9515/status 查询它,但它仍然无法在测试中运行。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-24
          • 1970-01-01
          • 2018-04-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多