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ブラウザはこちらの公式ページからインストールできます。手順は難しくないので割愛します。
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の画面からつぶやき投稿をしてみようと思います