Selenium起動時にwebdriverを自動更新する方法(Python)

Python

SeleniumはPythonのソースコードでGoogle ChromeやFireFoxなどのWebブラウザを制御して、
データの取得や自動クリックなどを行うことができるライブラリです。

非常に便利なライブラリなのですが、手元のGoogle Chromeのバージョンが上がってしまうと、
webdriverという内部部品もアップロードしなければなりません。

「手元のPCで、月に1回だけSeleniumを起動させたい」などといった場合には、
大体webdriverのバージョンが異なる旨の以下のエラーが発生してしまいます。

session not created: This version of ChromeDriver only supports Chrome version 92

通常のwebdriverの更新方法

このエラー、通常であれば以下の手順で、pipコマンドを用いてwebdriverを更新していきます。

旧webdriverのアンインストール

その後、確認したGoogle Chromeのバージョンに合ったwebddriverをインストールします。

↓32bit版のGoogle Chromeをお使いの場合はこちらのコマンドを使用します。

次のコマンドを使用して、Google Chromeのwebdriverのバージョンを確認します。

手元のGoogle Chromeのバージョンは以下の通りですので、バージョンに合ったwebdriverがインストールされていることが確認できます。

ただし、月1回とはいえ、毎回こんなことをやるのは面倒臭い!

せっかくSeleniumという自動化ライブラリを使っているのに、Seleniumのメンテナンスに手間取っていては、自動化のメリットも薄まってしまいます。

今回ご紹介する方法により、Selenium起動時にwebdriverのバージョン確認&アップデートを自動で行うことができるようになります。

webdriver_managerのインストール

pipでwebdriver_managerをインストールします。

そして、Pythonのソースコードの先頭に以下の用に記述します。

あとは変数”driver”を用いて、Chromeを好きなように操作していきます。

このように記述することで、このPythonファイルを実行する度に毎回webdriverのバージョン確認が行われ、手元のGoogle Chromeのバージョンに合ったwebdriverがインストールされます。

これで、毎回の更新作業は不要になります。

まとめ

今回はSeleniumのwebdriverの自動更新の方法についてお伝えしました。
Chromeをアップデートしない環境には必要ない処理かもしれませんが、
普段使いのPCで、たまにSeleniumを使いたい時などにはおすすめです。

みなさんも是非試してみてください。

コメント

タイトルとURLをコピーしました