PythonでMicrosoft EdgeでWebサイトに自動ログイン、データを自動ダウンロードするプログラムをSeleniumとWebdriverで作成しています。
ところがEdgeのバージョンアップが頻繁に行われ、都度Edgeのバージョン確認、Webdriverをホームページからアップデートしなくてはならず面倒なことになっていました。
ネットで検索するとWebdriver managerなるLibraryを追加することで自動でアップデートできることがわかり、なんて素敵すぎるということで早速プログラムに組み込んでみました。
3項目目がなかなかわからずでしたが、なんとかこれで行けることを確認できました!
是非お試しあれ!
1、webdriver-managerのインストール
私の環境がAnacondaなのでコマンドプロンプトを開き、
pip install webdriver-manager
としてコマンドラインを実行してwebdriver-managerをインストール。
2、本体プロラム記述
下記のように本体プログラムにはwebdriver_managerのEdgeドライバをインポート
from webdriver_manager.microsoft import EdgeChromiumDriverManager
edgedriverの入っているディレクトリを設定してそれらを呼び出します。
そして下記コマンドで呼び出します。
custom_path=”C:\\YYY\\YYY\\edgedriver_win64″
driver_path=EdgeChromiumDriverManager(path=custom_path).install()
browser = webdriver.Edge(driver_path)
3、実はもう一手間(ここが重要)
実は上記の2つだけではEdge用環境のwebdriver_managerは動作しません。
Pytho libray内にあるwebdriver_manager/microsoft.pyの変更が必要で、下記のように直します。
先頭行に下記を追加
import logging
2ヶ所ある下記記述を青太文字のように変更
log_level=None → log_level=logging.INFO
もしこれをやらないとTypeerrorが出てしまい、動作しません。みなさんご注意を!



コメント