[英]Error while starting chromedriver from java application on raspberry pi
我想在我的树莓派(型号 3B+)上运行我的 java 独立 jar。 它依赖于硒,所以它需要 chromedriver。 我已经安装了 java 14 以及 chromedrivers 版本 95.0.4638.78-rpt6 通过
sudo apt-get install chromium-chromedriver
现在我已经安装了:
dpkg -l | grep chromium
ii chromium-browser 95.0.4638.78-rpt6 armhf Chromium web browser, open-source version of
ii chromium-browser-l10n 95.0.4638.78-rpt6 all chromium-browser language packages
ii chromium-chromedriver 95.0.4638.78-rpt6 armhf WebDriver driver for the Chromium Browser
ii chromium-codecs-ffmpeg-extra 95.0.4638.78-rpt6 armhf Extra ffmpeg codecs for the Chromium Browser
ii rpi-chromium-mods 20220111
当我现在启动我的应用程序时,我得到这个日志:
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.bouncycastle.jcajce.provider.drbg.DRBG (file:/home/pi/StreamCrawler.jar) to constructor sun.security.provider.Sun()
WARNING: Please consider reporting this to the maintainers of org.bouncycastle.j cajce.provider.drbg.DRBG
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflect ive access operations
WARNING: All illegal access operations will be denied in a future release
/usr/bin/chromedriver: 5: Syntax error: word unexpected (expecting ")")
Feb 06, 2022 6:39:21 PM org.openqa.selenium.os.OsProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 2 (Exit value: 2)
Exception in thread "Thread-1" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: 'unknown', revision: 'e82be7d358', time: '2018-11-14T08:24:01'
System info: host: 'raspberrypi', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'arm', os.version: '5.10.92-v7+', java.version: '14'
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:147)
at crawler.RequestCrawler.getPlaylistURL(RequestCrawler.java:48)
at crawler.StreamCrawler.crawl(StreamCrawler.java:29)
at crawler.StateChecker.run(StateChecker.java:37)
at java.base/java.lang.Thread.run(Thread.java:832)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:11309/status] to be available after 20017 ms
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197)
... 11 more
Caused by: java.util.concurrent.TimeoutException
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:204)
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
... 12 more
在我的 windows 机器上它运行良好。 但是在 windows 上,我使用的是 chromedriver 98,而不是 95。现在我不确定下一步该怎么做。
选项 A 是将我的树莓派上的 chromedriver 更新为 98。 但是当我查看https://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/时,没有 98。在https://chromedriver.storage.googleapis.com/index.html ?path=98.0.4758.80/我可以找到 98 Linux 版本但是如何安装没有扩展名的文件?
选项 B 是一个 java 应用程序,它与 chromedrivers 95 一起运行。目前我使用这个 selenium 版本:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
如果我使用旧版本它会运行吗? 我需要哪个版本?
有没有其他更好的选择? 感谢帮助!
在Raspberrypi chromium-browser 存档中,最新版本似乎是chromium-browser v95 。
因此,结合以下内容:
对 go 肯定有好处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.