【1分】PythonのSelenium実行環境を構築する最短手順
PythonのSeleniumでGoogle Chromeを操作するための環境を1分で作りあげる最短手順をメモしておきます。
- WindowsでもMacでもLinuxでもOK
- ChromeドライバープログラムをGoogleサイトからダウンロードしなくてよい
- Chromeドライバーのパスを手動で通す(面倒な)作業が不要
上記②③を手動で行う方法もありますが、どうせならChromeドライバーは自動更新させるようにしてコードを書いたあとの手動作業はゼロにしましょう。
2022年11月にリリースされたSeleniumバージョン4.6以降、めちゃくちゃカンタンになりました。
本記事の前提:
- Python3がインストール済みであること
ー もくじ ー
Python Selenium実行環境のセットアップ手順【1分で完了】
2番目は動作確認なので、実質的にワンステップ=pip installするだけで完了します。
- Selenium最新版をインストール
- Seleniumの動作確認
1. Selenium最新版をインストール
以下コマンドを実行し「selenium」の最新版をインストール。
pip install selenium
> pip install selenium
Collecting selenium
Obtaining dependency information for selenium from https://files.pythonhosted.org/packages/f9/2f/9c6eef6487faca5006ae1ba43cf6ab627c7e3d2a7ec5a3b8728e2105472d/selenium-4.12.0-py3-none-any.whl.metadata
Using cached selenium-4.12.0-py3-none-any.whl.metadata (6.9 kB)
・・・省略・・・
Installing collected packages: selenium
Successfully installed selenium-4.12.0
Successfully installed...と表示されていれば無事完了。
上記出力例ではseleniumバージョンが4.12.0となっていますが、4.6以上であればOKです。
これだけで環境自体は完成で、あとはブラウザが立ち上がるか動作確認をするだけです。
2. Seleniumの動作確認
test.pyというファイルをデスクトップ上に作り(どこでもいいです)、以下コードをコピペします。
test.pyfrom selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://google.com')
ターミナル(Windowsならコマンドプロンプト)からtest.pyを実行します。以下「~/Desktop」にファイルがある場合の例。
~ $ python Desktop/test.py
ディレクトリを移動して実行してもOK。
~ $ cd Desktop
Desktop $ python test.py
これを実行して、Google Chromeが自動起動してhttps://google.comへアクセスした状態で停止すればSeleniumの動作確認が完了。
実際にコーディングするときは、最後にdriver.quit()でプロセス終了するのを忘れないように。
補足:ChromeDriverのパスはもう指定しなくていい
ネット上で他の少し古めの記事を見ると、Selenium 4.x系で以下のようにexecutable_pathにローカル保存したChromeDriverのパスを指定する必要があると思いがちです。
BEFOREfrom selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
service = ChromeService(executable_path="./drivers/chromedriver.exe")
driver = webdriver.Chrome(service=service)
これでももちろん動くのですが、パッと見でゴテゴテしてて分かりづらいですね。
しかもこのようにパスをベタ書きしていると、数週間もすればChromeとChromeDriverのバージョンが合わなくなりエラーが出て動かなくなってしまいます。
Seleniumバージョン4.6以上を使えばdriver = webdriver.Chrome()だけで自動的に適切なChromeDriverをダウンロードしてくれるようになったのでカンタン。
関連記事【Selenium】ChromeDriver自動更新で楽する方法【Python】
▼体型的なスクレイピング学習におすすめ