「Seleniumを使いたい」
「でも、なんかインストールとか難しそう」
この記事は、このような人向けの内容となっています。
とにかく、簡単にSeleniumをインストールできるようにまとめました。
本記事の内容
- Seleniumとは?
- Seleniumのシステム要件
- Seleniumのインストール
- ChromeDriverのインストール
- Seleniumの動作確認
それでは、上記に沿って解説していきます。
Seleniumとは?
Seleniumについては、次の記事で熱心に説明しています。
簡単に言うと、Seleniumはブラウザを操作するためのPythonライブラリです。
そして、PythonとブラウザをつなぐためにWebドライバーが必要となります。
この記事では、ブラウザはChrome前提で話を進めます。
Chromeの場合、WebドライバーはChromeDriverとなります。
以上、Seleniumについての説明でした。
次は、Seleniumのシステム要件を確認します。
Seleniumのシステム要件
現時点(2021年4月)でのSeleniumの最新バージョンは、3.141.0となります。
この最新バージョンは、2018年11月1日にリリースされています。
大前提として、実際にブラウザがインストールされている必要があります。
したがって、Chromeがインストールされていることは必須です。
それに伴って、ChromeDriverが必須となります。
ChromeDriverのインストールは、後ほど解説しています。
では、それ以外の要件を確認します。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。
- Windows
- macOS
- Linux
そして、サポート対象となるPythonのバージョンは以下。
- Python 2.7
- Python 3.4
- Python 3.5
- Python 3.6
最新のPythonがないので、不安に感じるかもしれません。
でも、最新のPythonでも何も問題ありません。
私は、以下のバージョンで検証しています。
>python -V Python 3.9.4
Selenium自体は、単なるPythonプログラムです。
そのため、ブラウザ関連以外のシステム要件はそれほど注意する必要がありません。
以上、Seleniumのシステム要件の説明でした。
次は、Seleniumのインストールを行っていきます。
Seleniumのインストール
最初に、現状のインストール済みパッケージを確認しておきます。
>pip list Package Version ---------- ------- pip 21.0.1 setuptools 56.0.0
次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。
python -m pip install --upgrade pip
では、Seleniumのインストールです。
Seleniumのインストールは、以下のコマンドとなります。
pip install selenium
インストールは、一瞬で終わります。
では、どんなパッケージがインストールされたのかを確認しましょう。
>pip list Package Version ---------- ------- pip 21.0.1 selenium 3.141.0 setuptools 56.0.0 urllib3 1.26.4
urllib3が依存パッケージとして、インストールされました。
依存関係が少ないので、Seleniumの導入は容易と言えますね。
以上、Seleniumのインストールを説明しました。
次は、ChromeDriverのインストールを行っていきます。
ChromeDriverのインストール
ChromeDriverのインストールは、以下の流れで説明していきます。
- Chromeのバージョン確認
- ChromeDriverのダウンロード
- ChromeDriverの設置
それぞれを下記で説明します。
Chromeのバージョン確認
まず、利用中のChromeのバージョンを確認しておきます。
アドレスバーに次の値を入力(コピペ可)します。
chrome://settings/help
「設定 – Chrome について」の画面が表示されます。
ここで利用中のChromのバージョンを確認します。
ChromeDriverのダウンロード
公式ダウンロードページ
https://chromedriver.chromium.org/downloads
上記ページにアクセスします。
ここの表記は、アクセスする時期によって異なります。
ここでの確認ポイントは、以下の箇所になります。
Chromeのバージョンは、「90.0.4430.85」でした。
同じバージョンとなる「ChromeDriver 90.0.4430.24」をダウンロードします。
(※「ChromeDriver 91.0.4472.19」の「Chrome verison 90」は誤記→実際には動かないので注意!!)
「ChromeDriver 90.0.4430.85」をクリック。
次の画面に遷移します。
各自の環境に合わせたモノをダウンロード。
ChromeDriverの設置
ダウンロードしたzipファイルを解凍します。
ここからはWindows環境を前提に説明を進めます。
(※それ以外のOSでも、内容は同じです)
解凍したフォルダの中には、実行ファイルがあります。
このバイナリファイルを適当な場所に移動させます。
例えば、C:\data\etcに設置することにします。
そうすると、ChromeDriverのパスは次のようなモノになります。
ChromeDriverのパス「C:\data\etc\chromedriver.exe」
まとめ
ChromeDriverのインストールを説明しました。
インストールと言っても、ファイルの設置なのですけどね。
そして、「ChromeDriverのパス」がプログラム上では必要となります。
それは、動作確認のサンプルコードで確認できます。
ここで一つ重要なことを述べておきます。
ChromeとChromeDriverのバージョンに関してです。
Chrome自体は、自動でバージョンアップしていきますよね。
そうすると、ChromeDriverとバージョンがズレてきます。
ズレたところで、すぐに動かないということはありません。
ただし、運が悪いと動かなくなる可能性もあります。
でも、長い期間バージョンがズレたままだと動かなくなります。
実際に、急に動かなくなったことが何度かあります。
その際は、またChromeDriverを更新してください。
新しいChromeDriverをダウンロードして、今回と同じようなことします。
基本的には、バイナリファイルの上書きでOKです。
以上、ChromeDriverのインストールについての説明でした。
次は、Seleniumの動作確認を行います。
Seleniumの動作確認
検索を自動で行うプログラムです。
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys CHROMEDRIVER = "C:\data\etc\chromedriver.exe" # ドライバー指定でChromeブラウザを開く browser = webdriver.Chrome(CHROMEDRIVER) # Googleアクセス browser.get('https://www.google.com/') # 検索ボックスを特定 elem = browser.find_element(By.NAME, 'q') # 「Selenium」と入力して、「Enter」を押す elem.send_keys('Selenium' + Keys.RETURN) # ブラウザを閉じる #browser.quit()
上記を実行すると、Chromeが自動で立ち上がります。
そして、自動で「Selenium」と検索します。
この動きを初めてみたときは、感動すらしました。
プログラムに関して2点だけ説明しておきます。
まずは、ChromeDriverのパスの箇所です。
CHROMEDRIVER = "C:\data\etc\chromedriver.exe"
ちゃんと記事の内容を理解していれば、何も問題はないはずです。
次は、以下のコメント部分の説明をしておきます。
# ブラウザを閉じる #browser.quit()
現状は、Seleniumの動きがわかりやすいようにコメントにしています。
この部分のコメントを解除すると、すべて一瞬で事が終わります。
そうすると、ブラウザが起動したどうかもわからないです。
なお、通常はこのコメントは解除して運用することになるでしょう。
ここまで確認できれば、Seleniumの動作確認として十分でしょう。
追記 2021年11月2日
上記サンプルコードを実行した際、Selenium 4では警告が出るようです。
その警告を解決する方法を次の記事で解説しています。
Seleniumを使ったスクレイピングに関しては、本サイトにはたくさんあります。
一部だけ下記で紹介します。
これら記事にあるサンプルコードを参考にして、Seleniumの破壊力を味わってみてください。