java - 无法运行无头 chromedriver
问题描述
系统环境:
- JVM 11.0.6-开放
- Ubuntu 18.04
- SDKMAN 5.8.1+484
- 摇篮 6.1
- Chrome 版本 81.0.4044.138
- 铬驱动程序 3.141.59
要运行的代码:
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:构建失败并出现异常。
出了什么问题:任务':Runner.main()'执行失败。
进程 'command '/home/***/.sdkman/candidates/java/current/bin/java'' 以非零退出值 1 结束
尝试:使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
在https://help.gradle.org获得更多帮助
在 21 秒 4:52:30 PM 内构建失败:任务执行完成“Runner.main()”。
解决方案
您需要升级您的 ChromeDriver 以匹配您的 Chrome 浏览器的主要版本:
https://sites.google.com/a/chromium.org/chromedriver/
您可能需要版本 81.0.4044.138。
推荐阅读
- python - 如何挤压 matplotlib 条形 x 轴标签以删除缺失的数值?
- python-3.x - 使用 PIL 而不是 imagio 库读取图像时图像无法正确显示
- python - 无法抓取 json() 类型的评论
- continuous-integration - 如何在管道中坚持使用 Gitlab CI Runner?
- mysql - Mysql - 在大表中慢一个更新查询
- redis - 为什么 Redis 对于 lindex、lpop 是 O(N)
- python - 模式搜索python函数没有给出预期的结果
- python - 有没有更好的方法从 subreddit 获得提交?
- c# - 统一前方位置 = 摄像机角度
- javascript - 将图片源从父组件转移到子组件vuejs