パイソン経由でブラウザ(ウェブサイトを見るためのアプリ:クローム:Chrome等)を操作してみます。
プログラミングからブラウザを操作できるようになると、調査やウェブアプリのテスト等で重宝します。
今回はクロームブック(CPU:Arm64)のクロスティーニ上でブラウザを操作してみます。
Arm64ではクロームが使用出来ず、クロミウム(Chromium)を使う事になりますので、クロミウムをインストールします。
$ sudo apt update $ sudo apt install chromium $ chromium --version Chromium 137.0.7151.55 built on Debian GNU/Linux 12 (bookworm)
続いて、自動化する時にクロームドライバー(Chromedriver)とセレニウム(Selenium)を使用しますので、これらをインストールします。
※MicroでPythonのコードフォーマッターを使えるようにするの記事を参考にしてpipxを事前にインストールしておいてください。
$ sudo sudo apt install chromium-driver $ pipx install --include-deps selenium $ chromedriver --version ChromeDriver 137.0.7151.55 (254bc711794d7ad269495f3d419a209935b78cad-refs/branch-heads/7151@{#1757})
※apt経由でchromium-driverを入れましたが、使用するコマンドがchromedriverになっていることを注意
ChromeDriver とは何ですか? | Chrome for Developers
Seleniumブラウザー自動化プロジェクト | Selenium
セレニウムを使うコードを作成してみます。
ファイルの作成の前にクロミウムドライバーのパスを調べておきます。
$ which chromedriver /usr/bin/chromedriver
ファイルを作成します。
~/selenium.py
※ファイル名は自由です。
from selenium import webdriver from selenium.webdriver.chrome.service import Service path = "/usr/bin/chromedriver" driver = webdriver.Chrome(service=Service(path)) driver.get('https://selenium.dev/') driver.quit()
パイソンからセレニウムを実行する時は、セレニウムパッケージにある実行用のファイルを使います。
パスは
~/.local/pipx/venvs/selenium/bin/python3
になります。
このパスを使用して、
$ ~/.local/pipx/venvs/selenium/bin/python3 ~/selenium.py
を実行します。
しばらく待つと
クロミウムが起動し、コード内で指定したページが表示された後、すぐに終了します。
パイソンでセレニウムを実行する時のコマンドが長くなるので、短いコマンド(seleniumpy)で実行出来るようにします。
$ micro ~/.profile
末尾に
alias seleniumpy="/home/pi/.local/pipx/venvs/selenium/bin/python3"
※piの箇所には自身で作成したアカウント名を入れてください。
の行を追加します。
ファイルを閉じて、
$ source .profile
を実行すれば、seleniumpyのコマンドが使用出来るようになります。
$ seleniumpy ~/.selenium.py