OS | Windows 10 64bit |
Python | 3.10.2 |
Selenium | 4.3.0 |
webdriver_manager | 3.8.1 |
Webdriver Managerは、Seleniumを使用する際に必要なブラウザのWebドライバの導入を自動化してくれるPythonライブラリです。
Webドライバ導入では、お使いのブラウザのバージョンに合ったWebドライバをダウンロードし、所定の場所へ配置、プログラム上でその場所を指定しないといけません。さらに、Seleniumを使ったプログラムが当時は動作していたのに突然動かなくなったといったことがよくあります。原因はブラウザのバージョンが上がったために、ドライバ都のバージョン不一致が原因で動作しなくなったということが多くの場合考えられます。
これらの煩わしい作業やバージョン不一致問題を解決してくれるのが、Webdriver Managerです。
本記事では、Webdriver ManagerのインストールとGoogle Chromeブラウザにおける簡単な使用方法をご紹介します。
Seleniumについては、以下の記事をご覧ください。
【スクレイピングのド定番】Seleniumの紹介pip install webdriver-manager
先述した通り、Google Chromeブラウザにおける使用方法を紹介します。
別のブラウザでの使用方法はドキュメントを参考にしてください。
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
seleniumの初期化時に、このように記述することでWebドライバを自動的にインストールしてくれます。
Webdriver Managerでは環境変数を設定値として読込み動作しています。設定項目と概要を以下に載せます。
GH_TOKEN
Webdriver Managerはwebドライバによってはgithubのリポジトリからダウンロードしており、
未認証ユーザへのgithubリクエスト制限を防ぐため、githubアクセストークンを指定します。
WDM_LOG
Webdriver Manager上でログを使用しないようにできます。
WDM_LOCAL
デフォルトでは、ユーザフォルダの.wdmフォルダにドライバが保存されますが、1を設定設定することでプロジェクトルートフォルダの.wdmフォルダに保存されるようになります。
WDM_SSL_VERIFY
0を設定することで、SSLの検証を無効にします。
初期化時にパラメータを設定することができます。
path
保存するフォルダを指定することができます。
version
webドライバのバージョンを指定します。
cache_valid_range
ブラウザの情報やドライバの情報をデフォルトで有効期間1日キャッシュとして残しています。
そのキャッシュ有効期間を指定します。
本記事ではWebドライバを自動でインストールしてくれるWebdriver Managerライブラリをご紹介しました。
このライブラリを導入することで、Webブラウザ更新に伴うWebドライバ更新という煩わしい作業から解放されます。
ぜひ活用してみてください。