Seleniumでブラウザ操作を自動化する

Selenium とは

Selenium(セレニウム)は、元々 Web アプリケーションの UI テストを自動化する目的で開発されたライブラリ郡です。

base on Seleniumブラウザー自動化プロジェクト :: Seleniumドキュメント

Seleniumはブラウザー自動化を可能にし、それを支えるツール群とライブラリー群プロジェクトです。

各ブラウザ用に WebDriver(ウェブドライバ)が用意されており、また多くの言語に対応しています。

現在では、テスト以外にも処理の自動化やクローリングなどにも利用されています。

環境

今回は新規構築した Windows 10 上に構築しました。

  • Windows 10 Pro. 20H2 x64
    Windows 10 October 2020 Update

インストール一覧

  • ブラウザ
    UI テスト用なので、GUI 必須です。
    今回は Google Chrome ブラウザ をインストールします。
    ※ヘッドレスので利用も可能です(要は CUI 環境)。
  • 言語
    WebDriver を呼び出すプログラム言語も必要です。
    今回は Python にしました。
  • Selenium
    各言語に対応した Selenium 本体をインストールします。

環境構築

Chrome ブラウザ + Python 環境を構築していきます。

Python

Windows なので python-3.9.4-amd64.exe をダウンロード後にインストールしています。

base on https://www.python.org/downloads/

Download Python 3.9.4

  • パス追加
    インストール開始時、Add Python 3.9 to PATH オプションにチェック入れて、Python のパスが通るようにしておきます。
  • パス制限解除
    インストール最後の画面で、Disable path length limit をクリックしてパス桁数制限を外しておきます。

確認

パスが問題なく通っていれば、下記コマンドでバージョンを取得できます。

python -V
Python 3.9.4

ChromeDriver

Selenium で使う WebDriver を導入します。
Chrome ブラウザを使うので ChromeDriver をダウンロードします。

https://sites.google.com/a/chromium.org/chromedriver/downloads

https://chromedriver.storage.googleapis.com/index.html?path=90.0.4430.24/
chromedriver_win32.zip

※Windows 版の ChromeDriver は 32bit なんですね。

ChromeDriver はダウンロード後に解答して、そのファイルにパスを通しておきます。

Selenium

Selenium は各言語用に用意されているので、pip を使ってインストールします。
pip は、Python のユーティリティです。

Windows の場合、コマンドプロンプトから実行します。
※念の為、管理者権限で実行しています。

pip install selenium

Microsoft Windows [Version 10.0.19042.928]
(c) Microsoft Corporation. All rights reserved.

C:\WINDOWS\system32>pip install selenium
Collecting selenium
  Downloading selenium-3.141.0-py2.py3-none-any.whl (904 kB)
     |████████████████████████████████| 904 kB 1.6 MB/s
Collecting urllib3
  Downloading urllib3-1.26.4-py2.py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB 6.4 MB/s
Installing collected packages: urllib3, selenium
Successfully installed selenium-3.141.0 urllib3-1.26.4
WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.
You should consider upgrading via the '%userprofile%\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip' command.

pip でインストールすると、最後に警告メッセージが表示されます。

WARNING: You are using pip version 20.2.3; however, version 21.0.1 is available.

警告:PIPバージョン20.2.3を使用しています。 ただし、バージョン21.0.1が利用可能です。

初回ですし、警告メッセージのとおりにアップグレードしてしまいましょう。

%userprofile%\appdata\local\programs\python\python39\python.exe -m pip install --upgrade pip

Collecting pip
  Downloading pip-21.0.1-py3-none-any.whl (1.5 MB)
     |████████████████████████████████| 1.5 MB 3.2 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.2.3
    Uninstalling pip-20.2.3:
      Successfully uninstalled pip-20.2.3
Successfully installed pip-21.0.1

確認

Selenium 公式サイトを参考に、Web ページを自動で開いてみます。

base on ブラウザー操作 :: Seleniumドキュメント

Browser操作

driver.get("https://selenium.dev")

注意点としては(パスが通っていなければ)WebDriver のパスをフルパスで指定しないといけないことでしょうか。

from selenium import webdriver # Selenium Webdriverをインポート
driver = webdriver.Chrome("C:\chromedriver_win32\chromedriver.exe") # ChromeDriver セット
driver.get("https://selenium.dev")

これで、Web ページ "https://selenium.dev" が開かれれば OK です。