SeleniumWebDriverを使ってブラウザ操作の自動化を行う際には、各ブラウザに対応するdriverを用意する必要があります。
しかし、ブラウザのバージョンが上がるとdriverのバージョンも上がり、その都度driver.exeを置き換えたりするのは面倒です。
チームで自動化しているときに管理担当が居て、都度git管理しているChromedriver.exeなどを更新して・・・という経験もありますがやっぱり面倒です。
そういうときには、webdriver_managerを使いましょう。
webdriver_manager
詳細はこちらから確認できます。
SergeyPirogov/webdriver_manager
インストール
$ pip install webdriver_manager
使い方
操作したいブラウザのDriverManagerをimportします。
from webdriver_manager.chrome import ChromeDriverManager
webdriver_managerを使わない場合は直接exeのパスを指定するか、環境変数PATHの通った場所にdriverをおいた状態でカッコの中を空にします。
webdriver_managerを使う場合は以下の例のような書き方になります。
def setup_class(cls):
cls.driver = webdriver.Chrome(ChromeDriverManager().install())
これで、あとは実行するたびにブラウザのバージョンに対応したdriverを取得して使ってくれます。
注意&参考
今回のはwebdriver_manager
でしたが、類似のものに
があります。
基本的にはwebdriver_managerと一緒で、いちいちdriverを自分で用意しなくて済むようになるのですが、細かい使い方など異なるので気をつけてください。
私がwebdriver_managerを選んだのは、ドキュメントが一番充実しているように見えたから、です。