Проблемы с запуском Selenium с Chromedriver на Raspberry Pi 4

Интересно, может ли кто-нибудь помочь мне с этой ошибкой, которую я получаю.

Я хочу использовать Selenium для мониторинга веб-страницы на (безголовом) Raspberry Pi 4 с использованием Python. Я установил 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.)

Я потратил полдня на это, пробуя разные вещи, и я потерян. Кто-нибудь может помочь? Спасибо!


person Barry    schedule 07.01.2021    source источник
comment
Привет, я использую Raspbian GNU/Linux 10 (buster). Я думаю, что установил chromedriver, используя PIP. Как вы думаете, есть проблема с chromedriver? может мне переустановить?   -  person Barry    schedule 07.01.2021


Ответы (1)


Установите chromedriver с помощью apt install:

sudo apt install chromium-chromedriver

Если Chromium уже установлен, проверьте версию, и Chromium, и chromedriver должны быть одинаковой версии.

Установите Selenium с помощью pip:

pip3 install selenium 

Попробуйте дать разрешения уже установленному chromedriver:

sudo chmod 755 /usr/lib/chromium-browser/chromedriver

Raspberry с сервером Ubuntu 20.04 введите здесь описание изображения

Удалите уже установленный Chromium из source и переустановите с помощью хромдрайвер:

sudo apt purge --remove chromium-browser -y
sudo apt autoremove && sudo apt autoclean -y
sudo apt install chromium-chromedriver
person Sers    schedule 07.01.2021
comment
Спасибо за это. Когда я попытался дать разрешения, он сказал, что операция не разрешена. Затем я использовал sudo chmod, и это сработало. Я решил запустить свой скрипт с помощью sudo python3 test.py вместо обычного python3 script.py, и я получаю; Traceback (most recent call last): File "test.py", line 1, in <module> from selenium import webdriver ModuleNotFoundError: No module named 'selenium' - person Barry; 07.01.2021
comment
Сначала установите sudo apt install chromium-chromedriver chromedriver. Затем установите селен: pip3 install selenium. Это должно работать - person Sers; 07.01.2021
comment
Эй, спасибо, что ответили мне @sers. Когда я запустил их, он просто сказал, что они оба уже установлены. Так что, к сожалению, я получаю ту же ошибку в тот момент, что и раньше. sudo apt install chromium-chromedriver chromium-chromedriver is already the newest version (86.0.4240.197-rpt1). pip3 install selenium Requirement already satisfied: selenium in /home/pi/.local/lib/python3.7/site-packages (3.141.0) Requirement already satisfied: urllib3 in /usr/lib/python3/dist-packages (from selenium) (1.24.1) - person Barry; 07.01.2021
comment
У меня есть Raspberry с установленным сервером Ubuntu 20.04, и проблем нет. Вы устанавливали Chrome отдельно? Моя установленная версия sudo apt install chromium-chromedriver — 87.0.4280.88. Установка chromium-chromedriver установки Chromium также, не нужно устанавливать его отдельно. Ваша проблема, вероятно, связана с несовместимостью версий драйвера и Chromium. - person Sers; 07.01.2021
comment
Спасибо за вашу помощь @sers, но, к сожалению, это тоже не сработало. Вы работали на убунту? Поскольку я работаю на Raspberry Pi, может быть, в этом разница? - person Barry; 08.01.2021
comment
Спасибо @Sers - person meta4; 12.06.2021