【Selenium Tutorial #1】 Chromeの操作を自動化する方法

プログラミング

はじめに

日々ブラウザで同じ作業をしていますが、このような操作をどうにかして、自動化したいと思っている方がいないでしょうか。私は最近情報を収集するとき、毎回ブラウザを開いて、検索する作業が増えました。このような作業を自動化したいと思い私が色々調べていた結果、SeleniumとWebDriverを利用してChromeブラウザの操作を自動化する方法を見つけて試しました。同じようにブラウザの自動化を行いたい方がいると思っていたので、紹介したいと思います。

Seleniumとは

Selenium は、 Webアプリケーションをテストするためのポータブルフレームワークです。これだけだと分かりにくいと思いますが、ブラウザの操作を自動化するために、利用されるフレームワークだと思っていただければ十分だと思います。

対応するブラウザってChromeだけ?

今回はChromeの操作を自動化する目的なので、Chromeを入れましたが、SeleniumはChromeだけではなく、IE、Firefox、Edgeなど様々なブラウザに対応しています。

Seleniumってどんなプログラミング言語に対応する?

この記事を書いた時点では以下のプログラミング言語に対応しています。

  • Java
  • Python
  • Ruby
  • C#
  • Kotlin
  • JavaScript

開発環境構築

ブラウザの操作を自動化するプログラムを作成するために、以下の環境を用意する必要があります。入れるものが多いので面倒だと思われるかもしれませんが、以下の各ステップ通り操作して頂ければ10分もかからずに環境を整えられるので心配しないでください。

Pythonをインストール

今回はプログラミング言語としてPythonを使うので、環境にPythonをインストール必要があります。端末にPythonをインストールしていない方ならこちらのPythonをWindowsにインストールする方法の記事から参考してインストールしてください。

Seleniumをインストール

Pythonのインストールが終わったら、コマンドラインを開いて以下のコマンドを実行してください。

pip install selenium

すると以下の画像のようにSeleniumのインストールが成功したことが確認できています。

Seleniumをインストールするコマンド

ChromeのWebDriverのインストール

次はSeleniumがChromeの操作をコントロールするためにはChromeのWebDriverが必要なのでChromeのWebDriverを取得する必要があります。
ChromeのWebDriverはhttps://chromedriver.chromium.org/downloadsからダウンロードすることができます。ただし、端末にインストール済みのChromeのバージョンに対応するWebDriverをダウンロードする必要があるので、ここだけは注意してください。
Chromeのバージョンは以下の画像のように【ヘルプ】から【Google Chromeについて】をクリックして確認することができます。

Chromeのバージョンを確認する手順1
Chromeのバージョンを確認する手順2

ここでChromeのバージョンは【91】だと確認できたので、このバージョンに対応するChrome WebDriverをダウンロードします。

Chrome Webdriverをダウンロード手順1

上の画像の黄色枠をクリックするとChromeDriverダウンロードディレクトリが表示されるので、ここで端末に適切なものをダウンロードしてください。私はWindows環境で環境構築しているので、【chromedriver_win32.zip】をダウンロードします。

Chrome Webdriverをダウンロード手順2

ダウンロードしたWebDriverはどこでもよいですが、後ほどこのパスが必要になるので、展開した場所を把握してください。

Chrome Webdriverをダウンロード手順3

これで環境の準備が全部終わりました。
次はChromeの操作を自動化してみて、確認してみましょう。

Chromeの操作を自動化してみる

以下のコードをコピーして、Pythonファイルとして実行してください。
※コード内に一部書き換える必要があるので、コメントをみてください。

from selenium import webdriver
import time
driver = webdriver.Chrome(executable_path="ここにダウンロードしたWebDriverのパスに書き換えてください。")
#以下は一例
#webdriver.Chrome(executable_path="C:/Users/XXX/Desktop/Work/Selenium_Chrome_Tool/chromedriver_win32/chromedriver.exe")
driver.get("https://it-engineer.net")
time.sleep(4)
driver.close()

上のコードを実行して、Chromeブラウザが開けて、【https://it-engineer.net】にアクセスして、4秒後にブラウザが消えることが確認できればコードでChromeの操作を自動化できました。
なかなか長くなったので、PythonでリクエストしてさらにレスポンスのElementから必要な情報を収集する方法を次の記事で紹介しますので、ぜひご覧ください。お疲れ様でした。

コメント