ITスキル

SeleniumとChromeDriverのインストール手順

pythonでWebサイトのデータを読み取るだけではなく、Web画面のボタンをクリックしたり、入力ボックスにテキストを入力したりなどの操作は、Seleniumと各ブラウザのDriverが必要になります。

今回は、Chromeブラウザを使って、Webサイトの操作を行うためのseleniumとChromeDriverのインストール手順をまとめています。

これができたら次は、pythonとseleniumを使ってTwitter画面から投稿してみたいと思います。

Seleniumとは?

Seleniumはブラウザを操作するためのpythonライブラリです。

公式サイトはこちら

pythonライブラリのSeleniumでできること

Seleniumを使うと、ホームページの内容を読み取るだけではなく、

  • ブラウザの更新
  • ブラウザのサイズ変更
  • name、class、idなどのHTML要素の取得
  • ボタンのクリック
  • ラジオボタンの選択
  • テキストボックスに文字の入力
  • キーボード入力

など、Web画面での様々な操作ができます。各処理の詳細は追々解説していこうと思います。

インストールの事前準備

seleniumを扱うには、次の4つの事前準備が必要になります。

OS

Windows、MacOS、Linuxでサポートしています。今回はMacOSを使っています。

Web ブラウザ

Chrome, Firefox, IE, Opera などホームページを閲覧するブラウザです。今回は、Chromeを利用しています。

chromeブラウザはこちらの公式ページからインストールできます。手順は難しくないので割愛します。

>> chromeブラウザのダウンロード

python

python3以上であれば問題ありません。インストールの手順はこちらを参照してください。

Seleniumのインストール

インストール済みパッケージを確認

最初に、現状のインストール済みパッケージを確認しておきます。おそらくまだインストールされていないと思いますが、インストール済みの場合は、バージョンを確認しましょう。

!pip list
Package                       Version
----------------------------- --------------------
aiohttp                       3.8.1
aiosignal                     1.2.0
alabaster                     0.7.12
anaconda-client               1.9.0
anaconda-navigator            2.3.2
anaconda-project              0.10.2
anyio                         3.5.0
appdirs                       1.4.4
applaunchservices             0.2.1
appnope                       0.1.2
appscript                     1.1.2
argon2-cffi                   21.3.0
argon2-cffi-bindings          21.2.0
arrow                         1.2.2

Seleniumのインストール

Seleniumのインストールは、以下のコマンドとなります。

!pip install selenium

インストールは、一瞬で終わります。

インストール結果の確認

では、インストール内容の確認をします。

!pip show selenium
Name: selenium
Version: 4.8.0
Summary: 
Home-page: https://www.selenium.dev
Author: 
Author-email: 
License: Apache 2.0
Location: /Users/*******/opt/anaconda3/lib/python3.9/site-packages
Requires: certifi, urllib3, trio-websocket, trio
Required-by: 

selenium4.8.0がインストールされました。

ChromeDriverのインストール

Webブラウザを操作するために必要となるのがモジュール「ChromeDriver」です。今回はChromeブラウザを操作するモジュール「ChromeDriver」を使いますが、Firefoxなど別のブラウザのDriverもあるので、お使いのブラウザに合わせてインストールしてください。

ちなみにChromeで面倒なのは、ブラウザが比較的頻繁にバージョンアップが行われるという点です。

バージョンアップが行われると、モジュールもそれに合わせてアップデートされます。両方のバージョンが一致していないと正しく動かないことがあるので、常にバージョンを気にする必要があります。

ただ、そこだけを気にしていれば、自動化ができるので、大きな問題ではないと思います。

インストールの流れ

ChromeDriverのインストールは、以下の流れで説明していきます。

  • Chromeのバージョン確認
  • ChromeDriverのダウンロード
  • ChromeDriverの設置

それぞれを下記で説明します。

Chromeのバージョン確認

まず、利用中のChromeのバージョンを確認しておきます。

アドレスバーに次の値を入力(コピペ可)します。
chrome://settings/help

「設定 – Chrome について」の画面が表示されます。ここで利用中のChromのバージョンを確認します。最新にしておけば良いと思います。

ChromeDriverのダウンロードページへ移動

公式ページのDownloadsメニューをクリックして、Downloadsページに移動します。

インストーラの選択

Current Releasesを参照して、ChromeのバージョンにあったChromeDriver をクリックします。

私のChromeのバージョンは、109.****なので、2つ目の「ChromeDriver109.0.5414.74.74」をクリックします。

対象環境のインストーラをダウンロード

OS毎にインストーラが格納されているページが開くので、インストールするOSのファイルをダウンロードします。

私の環境は、「mac_arm64」を選択しています。

ChromeDriverの設置

MacOS環境を前提に説明を進めます。ダウンロードしたzipファイルを解凍します。

解凍したフォルダの中には、2つのファイルがあります。この2ファイルをpythonプログラムのあるフォルダに移動します。

Jupiterの画面からアップロードを選択して格納すればOKです。

アップロード先の確認になので、アップロード先が間違えていないか確認の上、Uploadボタンをクリックします。

フォルダに2ファイルが格納されたことを確認して、インストール完了です。

SeleniumとChrome Driverの動作確認

正しく設定ができているか、サンプルコードを作成して動作の確認をしてみます。

Google.comにアクセスして、今日の天気を検索するコードを作成します。

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
 
#ChromeDriverの格納パスを指定
#同じフォルダに格納しているので、名前だけ書けば大丈夫です
CHROMEDRIVER = r"chromedriver"
 
# ドライバー指定でChromeブラウザを開く
browser = webdriver.Chrome(CHROMEDRIVER)
 
# Googleアクセス
browser.get('https://www.google.com/')
 
# 検索ボックスを特定
elem = browser.find_element(By.NAME, 'q')
# 「今日の天気は?」と入力して、「Enter」を押す
elem.send_keys('今日の天気は?' + Keys.RETURN)
 
# ブラウザを閉じる
browser.quit()

上記を実行すると、Chromeが自動で立ち上がり、Googleで「今日の天気は?」と入力して検索します。

最後に「ブラウザを閉じる」処理を入れているので、あっという間にブラウザが開いて検索してブラウザがクローズしますが、エラーにならずに終了すれば、動作確認としては十分です。

次回は、これを使ってpythonからTwitterの画面からつぶやき投稿をしてみようと思います

-ITスキル
-