search
LoginSignup
33

More than 3 years have passed since last update.

posted at

updated at

Organization

Python+SeleniumWebDriverではwebdriver_managerを使うといちいちdriverのexeを置き換えなくて済む

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を選んだのは、ドキュメントが一番充実しているように見えたから、です。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
33