概要
webドライバーの手動更新が面倒な人向け。
webdriver_managerと言う便利ライブラリを使用します。
経緯
月一の申請が面倒だなぁと思ってpythonとseleniumで自動化。
でも、割とブラウザバージョンの更新があるので、webドライバもそれに合わせて手動更新してたけど面倒だったのでそれも自動にしてくれないかなぁと思いました。。
手動更新手順
- seleniumで使用したいブラウザのバージョンチェック
- 各種ブラウザのサイトからバージョンにあったwebドライバーをダウンロード
- ダウンロードしたwebドライバーを所定のフォルダに配置
ちょっと手順が多い
自動更新手順(webdriver_manager使用)
- スクリプトの実行により、PCにインストール済みのブラウザのバージョンに合わせて、所定フォルダにダウンロードしてくれる。
便利。。。
webdriver_managerについて
対応ブラウザ
EdgeChromium、Chrome、Opera、Firefox、InternetExpoler(IEはもうやめましょう)
インストール
pip install webdriver_manager
コード
使用方法
指定フォルダに「.wdm」というフォルダが作成され、その中にwebドライバがインストールされます。
#import (Edgeの場合)
from webdriver_manager.microsoft import EdgeChromiumDriverManager
# 指定フォルダへwebドライバをインストール
install_dir = "C:\\python\\test"
driver_path = EdgeChromiumDriverManager(path = install_dir).install()
selenium使用前にドライバを更新する場合
「driver_path」にwebドライバーのパスが格納されるので、
「webdriver.Edge(driver_path)」の引数にしてあげます。
#import (Edgeの場合)
from webdriver_manager.microsoft import EdgeChromiumDriverManager
from selenium import webdriver
# 指定フォルダへwebドライバをインストール
install_dir = "C:\\python\\test"
driver_path = EdgeChromiumDriverManager(path = install_dir).install()
browser = webdriver.Edge(driver_path)
Windowsでのブラウザのインストール先について。
githubのライブラリソースを見ると、「$env」(環境変数)やレジストリからバージョン等を参照してるので、特殊なインストールをしていると失敗するかも。
何故か失敗する人は勉強がてら、見てみるといいかも。