古いRaspberry Pi Zeroでseleniumがエラーを吐く
経緯
Raspberry Pi Zeroにchromiumとseleniumをインストール
sudo apt-get install chromium
sudo apt-get install chromium-chromedriver
pip install selenium
スクリプトを作成
#!/usr/bin/env python
from selenium import webdriver
from selenium.webdriver.chrome import service as fs
options = webdriver.ChromeOptions()
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
chrome_service = fs.Service(executable_path="/usr/bin/chromedriver")
driver = webdriver.Chrome(service=chrome_service, options=options)
driver.get('https://qiita.com/')
で、実行
Traceback (most recent call last):
File "/home/Workspace/test_selenium.py", line 12, in <module>
driver = webdriver.Chrome(service=chrome_service, options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/local_python/lib/python3.11/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/home/local_python/lib/python3.11/site-packages/selenium/webdriver/chromium/webdriver.py", line 55, in __init__
self.service.start()
File "/home/local_python/lib/python3.11/site-packages/selenium/webdriver/common/service.py", line 102, in start
self.assert_process_still_running()
File "/home/local_python/lib/python3.11/site-packages/selenium/webdriver/common/service.py", line 115, 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
すると、エラー
どうにもならなかったので、Raspberry Pi OSを再インストール
状況変わらず・・・
chromedriverのバージョンをいろいろ変えてもダメ・・・
やったこと
- OSの再インストール
legacy,31-bit版を入れました。
(liteはpipコマンドが入っていない模様) - とりあえず、chromiumをインストール(やらなくてもいいかも)
sudo apt-get install chromium
sudo apt-get install chromium-chromedriver
- seleniumをインストール
pip install selenium
- chromiumのバージョンダウン
http://archive.raspberrypi.org/debian/pool/main/c/chromium-browser/
このサイトから、以下のパッケージをダウンロード
chromium-browser_95.0.4638.78-rpt6_armhf.deb
chromium-browser-l10n_95.0.4638.78-rpt6_all.deb
chromium-chromedriver_95.0.4638.78-rpt6_armhf.deb
chromium-codecs-ffmpeg-extra_95.0.4638.78-rpt6_armhf.deb
ダウンロードしたファイルをインストール
sudo dpkg -i chromium-browser_95.0.4638.78-rpt6_armhf.deb
sudo dpkg -i chromium-browser-l10n_95.0.4638.78-rpt6_all.deb
sudo dpkg -i chromium-chromedriver_95.0.4638.78-rpt6_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_95.0.4638.78-rpt6_armhf.deb
で動作するようになりました。
参考
chromiumのバージョンは、以下で動作したという記事を元にしています。
(もう少し新しいものでも動くかもしれません。)
ラズパイでSelenium
※自己責任でお願いします。