パイソンでブラウザの自動操作をしてみよう

パイソン経由でブラウザ(ウェブサイトを見るためのアプリ:クローム: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)

The Chromium Projects


続いて、自動化する時にクロームドライバー(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
同じカテゴリーの記事
マインクラフト用ビジュアルエディタを開発しています。

詳しくはinunosinsi/mcws_blockly - githubをご覧ください。