java - org.openqa.selenium.WebDriverException:通过 Selenium 启动 Chrome 浏览器时等待驱动程序服务器启动超时
问题描述
我无法在 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
任何人都可以帮助我。提前致谢,
解决方案
此错误消息...
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
...意味着您的程序无法启动/产生新的WebDriver即ChromeDriver进程。
您的主要问题是您传递给该行的值。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
推荐阅读
- php - 当购物车商品数量超过 Woocommerce 中的 24 件商品时,显示自定义运输选项
- php - 从多个数组中查找、保存和删除重复值
- html - 如何让音频播放器居中?
- java - 运行`mvn deploy`时如何使用Jenkins凭据?
- vue.js - 如何获取使用选择交互时单击的点的坐标?
- javascript - Angular ng2-file-upload 输入文件过滤器不适用于 Internet Explorer 中的 PNG
- python - 显示在表中某个字段中具有值的项目的结果
- php - 从列表中排除类别
- python - 我有两个元组比较。几乎相同的数据。为什么会出现这个错误:
- c++ - 尝试使用外部库中的方法时出现读/写访问错误