python - 在 Raspberry Pi 4 上使用 Chromedriver 运行 Selenium 的问题
问题描述
我想知道是否有人可以帮助我解决我遇到的这个错误。
我想使用 Selenium 使用 Python 监控(无头)Raspberry Pi 4 上的网页。我已经安装了 Selenium 并安装了正确版本的 Chromedriver,它需要与 AMRHF 一起用于 Raspberry PI;
以下是我正在使用的版本:
chromium-browser: Chromium 86.0.4240.197
chromedriver: 86.0.4240.197
python 3.7
selenium-3.141.0
这是我的脚本:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')
driver.get("https://www.google.com")
driver.close()
这是我得到的 Traceback 错误:
Traceback (most recent call last):
File "test.py", line 4, in <module>
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 81, in __init__
desired_capabilities=desired_capabilities)
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/pi/.local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/chromium-browser is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
我花了半天时间尝试不同的东西,但我迷路了。任何人都可以帮忙吗?谢谢!
解决方案
使用 apt install 安装 chromedriver:
sudo apt install chromium-chromedriver
如果 Chromium 已经安装检查版本,则 Chromium 和 chromedriver 应该是相同的版本。
使用 pip 安装 Selenium:
pip3 install selenium
尝试为已安装的 chromedriver 授予权限:
sudo chmod 755 /usr/lib/chromium-browser/chromedriver
删除已安装的 Chromium源并使用 chromedriver 重新安装:
sudo apt purge --remove chromium-browser -y
sudo apt autoremove && sudo apt autoclean -y
sudo apt install chromium-chromedriver
推荐阅读
- video-streaming - 如何避免来自 getusermedia 的镜像流
- java - Spring WS:在 wsdl 请求中添加自定义 SOAP 标头
- c# - Ghostdoc 不会尝试生成返回信息
- rust - 使用 impl Trait 时如何获得 Deref 强制
- spring - 使用 MockMvc 测试 spring 下载链接时“找不到可接受的表示”
- delphi - 使用 Delphi 应用程序客户端、autentication Base 查询 WSDL-SOAP
- javascript - 更新多个条目的表的特定行
- c# - 如何在 Kofax Capture 中以 PDF 或 JPG 格式导出索引字段的快照?
- fortran - 运行 Fortran 程序时出错(forrtl:严重 (157):程序异常 - 访问冲突)
- python-3.x - 使用python用神经网络计算sin函数