无法让 Selenium 在 Raspberry Pi 零无头上工作

问题描述 投票:0回答:1

我正在尝试在运行 Raspbian 的 RP Zero 上运行 Selenium Python 脚本。

到目前为止,我尝试了多种方法,但每次仍然出现此错误:

Traceback (most recent call last):
  File "/home/pi/imageRecGoogle/image_rec_google/seleniumAddToApex.py", line 15, in <module>
    driver = webdriver.Chrome()
  File "/home/pi/.local/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 84, in __init__
    super().__init__(
  File "/home/pi/.local/lib/python3.9/site-packages/selenium/webdriver/chromium/webdriver.py", line 101, in __init__
    self.service.start()
  File "/home/pi/.local/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 100, in start
    self.assert_process_still_running()
  File "/home/pi/.local/lib/python3.9/site-packages/selenium/webdriver/common/service.py", line 113, in assert_process_still_running
    raise WebDriverException(f"Service {self._path} unexpectedly exited. Status code was: {return_code}")
selenium.common.exceptions.WebDriverException: Message: Service /usr/bin/chromedriver unexpectedly exited. Status code was: -4

重现问题的示例代码:

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(1024, 768))
display.start()
opts = webdriver.ChromeOptions()
opts.add_argument('--no-sandbox')
opts.add_argument('--disable-setuid-sandbox')
browser = webdriver.Chrome("/usr/lib/chromium-browser/chromedriver", options=opts)

from selenium import webdriver
from selenium.webdriver.common.by import By
from pyvirtualdisplay import Display

display = Display(visible=0, size=(1600, 1200))
display.start()
driver = webdriver.Chrome('/usr/lib/chromium-browser/chromedriver')

运行命令:

chromium-browser
结果:

Unable to init server: Could not connect: Connection refused

(zenity:2011): Gtk-WARNING **: 03:38:57.601: cannot open display:

这是我到目前为止所做的: (我已经删除了所有内容以重新安装所有内容)

pip uninstall selenium
sudo apt purge --remove chromium-browser chromium chromium-chromedriver -y
sudo apt autoremove && sudo apt autoclean -y

sudo apt-get install chromium-chromedriver --yes
sudo apt-get install xvfb --yes
pip install PyVirtualDisplay xvfbwrapper selenium
python selenium-webdriver raspberry-pi raspbian
1个回答
0
投票

我花了 10 个小时解决同样的问题。我正在运行带有最新版本 Selenium 4.11.2 的无头 Raspberry Pi Zero W。

运行 /usr/bin/chromedriver 会出现错误:非法指令(根据原始问题的评论)。感谢您的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.