Seleniumは2004 年にThoughtWorks社によって開発された、Webブラウザの操作を自動化するためのフレームワークです。
Webブラウザの操作の自動化や、Web サイトのクローリングなどの用途で利用されています。
以前、以下の記事でSeleniumの環境構築や開発前の準備についてまとめましたが、Seleniumの使用に関しては、毎回自分が使っているGoogleChromeのバージョンに合わせたドライバの入手が必要です。
GoogleChromeのバージョンは頻繁に自動更新されますが、ドライバは自動では更新されないため、バージョンの食い違いが発生してSeleniumが動かなくなってしまいます。
そのときには再度、ブラウザのバージョンに合うドライバを入手することになりますが、毎回この作業をするのは煩雑ですよね。
そこで、ブラウザのバージョンと、ドライバのバージョンが適合しない場合に、ブラウザのバージョンに合わせたドライバを自動取得するSeleniumのコードを紹介します。
Selenium向けにブラウザのドライバを自動でインストールする方法
手順1 webdriver-managerのインストール
この自動インストールのためには、webdriver-managerというソフトウェアが必要です。pipが使える環境の場合、コマンドプロンプトで以下のコマンドを打ち込むことでインストールができます。
pip install webdriver-manager

手順2 webdriver-managerを用いてブラウザのドライバの自動インストール
手順1の実行後であれば、webdriver-managerを用いることでブラウザのドライバを自動インストールできます。ブラウザのドライバを自動インストールできるSeleniumのコードを紹介します。
今回の環境は以下となります。
- Windows 11
- Python 3.8
- Selenium 4.0.0
- Google chrome Version103
以下のように記述することで、キャッシュにブラウザのバージョンと適合するドライバがインストールされていない場合に、自動でインストールするようになります。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('http://tecsingularity.com/')

これにより、面倒な作業をなくすことができるので、Seleniumの利用へのストレスが少なくなります。
まとめ
Selenium向けにブラウザのドライバを自動でインストールする方法を紹介しました。
webdriver-managerを用いることで簡単にブラウザのドライバを、動作時に自動更新させることができるようになります。