首页 > 解决方案 > 无法运行无头 chromedriver

问题描述

系统环境:

要运行的代码:

System.setProperty("webdriver.chrome.driver", "/snap/bin/chromium.chromedriver");
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
WebDriver driver = new ChromeDriver(options);

下午 4:52:09:执行任务 'Runner.main()'...

任务:compileJava 任务:processResources NO-SOURCE 任务:classes

任务:Runner.main() 错误:未知标志“端口”2020 年 5 月 14 日下午 4:52:30 org.openqa.selenium.os.OsProcess checkForError 严重:org.apache.commons.exec.ExecuteException:进程以错误:1(退出值:1)线程“主”org.openqa.selenium.WebDriverException 中的异常:等待驱动程序服务器启动时超时。构建信息:版本:'3.141.59',修订:'e82be7d358',时间:'2018-11-14T08:17:03' 系统信息:主机:'****',ip:' . .', os.name: 'Linux', os.arch: 'amd64', os.version: '5.3.0-46-generic', java.version: '11.0.6' 驱动程序信息: driver.version: ChromeDriver at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:188) 在 org.openqa.selenium.remote 的 org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:202)。 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)在 org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:131) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:181) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:168) at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123) at Runner.main(Runner.java:19) 原因:org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out等待[http://localhost:13284/status] 20004 毫秒后在 org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100) 在 org.openqa.selenium.remote.service.DriverService.waitUntilAvailable( DriverService.java:197) ... 9 更多原因:com.google.common.util 的 java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204) 的 java.util.concurrent.TimeoutException .concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156) at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75) ... 还有 10 个

任务:Runner.main()失败

此构建中使用了已弃用的 Gradle 功能,使其与 Gradle 7.0 不兼容。使用“--warning-mode all”显示各个弃用警告。请参阅https://docs.gradle.org/6.1/userguide/command_line_interface.html#sec:command_line_warnings 2 个可操作的任务:2 个已执行

FAILURE:构建失败并出现异常。

在 21 秒 4:52:30 PM 内构建失败:任务执行完成“Runner.main()”。

标签: javaseleniumselenium-webdriverselenium-chromedrivergoogle-chrome-headless

解决方案


您需要升级您的 ChromeDriver 以匹配您的 Chrome 浏览器的主要版本:

https://sites.google.com/a/chromium.org/chromedriver/

您可能需要版本 81.0.4044.138。


推荐阅读