基本上,我有一个java程序什么从网站使用Selenium(Chromedriver)获取数据
同样的java程序在windows上运行时没有任何错误,这是我没有犯任何错误的时候。在CentOS 7中,它运行,但抛出了一些错误&很奇怪。
错误数:
Exception in thread "Thread-6" org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that C hrome has crashed.)
Host info: host: 'instance-20221128-2304', ip: '10.0.0.105'
Build info: version: '4.6.0', revision: '79f1c02ae20'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-1160.76.1.el7.x86_64', java.version: '1.8.0_352'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Command: [null, newSession {capabilities=[Capabilities {browserName: chrome, goog:chromeOptions: {args: [--headless], exten sions: []}}], desiredCapabilities=Capabilities {browserName: chrome, goog:chromeOptions: {args: [--headless], extensions: [ ]}}}]
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:146)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:101)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:67)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:156)
at org.openqa.selenium.remote.service.DriverCommandExecutor.invokeExecute(DriverCommandExecutor.java:167)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:142)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:541)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:242)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:157)
at org.openqa.selenium.chromium.ChromiumDriver.<init>(ChromiumDriver.java:101)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:81)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:70)
at org.hinoob.bot.BangerFM.fetch(BangerFM.java:55)
at org.hinoob.bot.BangerFM.lambda$startLoop$0(BangerFM.java:26)
at java.lang.Thread.run(Thread.java:750)`
我已经按照本指南安装了以下内容:https://www.usessionbuddy.com/post/How-To-Install-Selenium-Chrome-On-Centos-7/
我的谷歌浏览器版本在CentOS:谷歌浏览器107.0.5304.121
我还没有尝试任何东西,因为我不知道该尝试什么。我希望它能像在Windows中一样工作。
1条答案
按热度按时间6vl6ewon1#
Selenium 4.6.0已发布!Selenium管理器简介现在您不需要添加驱动程序路径或任何内容。现在Selenium会自动更新驱动程序。
在你的情况下,我猜这个问题是为chrome驱动程序兼容性问题。
更新您的Selenium版本,如果是Maven项目,则添加以下依赖项
然后删除系统属性,如果你手动添加chromedriver路径,希望你的问题会得到解决。
导致打开浏览器出现问题另一个检查点
1.确保chrome已安装在服务器/PC中
1.如果服务器是headless,则添加参数--headless
1.添加禁用GPU参数
参考https://www.selenium.dev/blog/2022/introducing-selenium-manager/