- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2022-02-11T18:59:51+09:00","default:honma","honma")
#author("2022-02-12T15:55:40+09:00","default:honma","honma")
* ラズパイでSelenium [#n3800e79]
ラズパイでSeleniumを使用した作業の効率化に関する話題があったので試してみた。
** SDカードの準備 [#s61b4dc5]
インストール後の最初の儀式。
[[Raspberry Pi Imager:https://www.raspberrypi.com/software/]]でサクッとSDに書き込んでセットアップを完了。~
今回書き込んだOSは「Raspberry Pi OS Lite(32bit)」。デスクトップ機能は使用しないのでこれで十分。~
SSHでログインするのだが、Raspberry Pi Imagerの最新ではOSイメージの書き込み時に設定ができるようになっていた。~
インストール後の最初ログインでいつもの儀式を実施。
$ sudo apt update
$ sudo apt upgrade
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
** python環境 [#h780f30f]
今回はpython3で導入(Raspberry Pi OSの標準環境はまだpython3)
今回はpython3で導入(Raspberry Pi OSの標準環境はpython3)
$ sudo apt install -y python3 python3-pip
$ python3 -V
$ python -V
Python 3.9.2
** selenium の導入 [#u1f963e7]
selenium の導入(バージョン指定をせずに導入すると selenium 4 なので注意)
$ pip3 install selenium
$ pip3 list | grep selenium
selenium 4.1.0
** chromium-chromedriver の導入 [#c8cd12c5]
chromium-chromedriver の導入
$ sudo apt install -y chromium-chromedriver
$ dpkg -l | grep chromium
ii chromium-browser 95.0.4638.78-rpt6 armhf Chromium web browser, open-source version of Chrome
ii chromium-browser-l10n 95.0.4638.78-rpt6 all chromium-browser language packages
ii chromium-chromedriver 95.0.4638.78-rpt6 armhf WebDriver driver for the Chromium Browser
ii chromium-codecs-ffmpeg-extra 95.0.4638.78-rpt6 armhf Extra ffmpeg codecs for the Chromium Browser
chromedriver のインストール先の確認
$ which chromedriver
/usr/bin/chromedriver
** ソースコード(selenium_google.py) [#m8f0f446]
** ソースコード(selenium_by_google.py) [#m8f0f446]
ネットでよく見かけるサンプルソースは selenium 3 だが、最新環境でセットアップすると selenium 4 となるため、一部書き換えが必要。
#highlight(python){{
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
# ブラウザをヘッドレスで起動するためのオプション指定
options = Options()
options.add_argument('-headless')
driver = webdriver.Chrome(options=options)
# Googleのトップ画面を開く
driver.get('https://www.google.co.jp/')
# 画面表示を最大5秒待つ
driver.implicitly_wait(5)
# 検索語を入力する
input_element = driver.find_element(By.NAME, 'q')
input_element.send_keys('Raspberry Pi' + Keys.RETURN)
# 検索結果が出るまでちょっと待つ
time.sleep(3)
# スクリーンショットを保存する
driver.save_screenshot('google.png')
# ブラウザを終了する
driver.close()
}}
#highlight(end)
#ref(selenium_by_google.py)
** 実行 [#hc51d0cd]
$ python selenium_google.py
$ python selenium_by_google.py
※Raspberry PiはRaspberry Pi財団の登録商標です。
#htmlinsert(rpi3b+.html);