【EXCEL VBA】Selenium利用時のChromeDriverを自動更新したい

SeleniumBasic利用時、Chrome本体のバージョンとChromeDriverのバージョンを合わせる必要があります。残念なことにChrome本体はどんどんバージョンが上がっていくので、いつの間にかバージョンアンマッチとなりSeleniumが動かないことが多々あります。

開発者は大丈夫だと思いますが、利用者にChromeDriverバージョンアップをお願いするのは敷居が高いと思います。なんとか自動更新ができないか調査したところ良い方法を見つけたので紹介します。

といっても、今回は自分で作成したのではなく、便利なライブラリの紹介となります。

このライブラリを組み込み、ソースコードを1行変更するだけで対応完了です。Selenium起動時にバージョンアンマッチが検出されるとChromeDriverの自動ダウンロードおよびインストールが自動で始まります。詳細は上記ページを確認ください。本記事では、簡単なサンプルプログラムのみ紹介します。

サンプルプログラム

1行修正するのみとなります。既存資産への反映も手間はかからないのではないでしょうか。

修正前

Option Explicit

Sub sample()
    Dim dr As New Selenium.WebDriver
    dr.Start "Chrome"
    
    dr.Get "https://www.google.co.jp/?q=selenium"
    
    Stop
End Sub

修正後

Option Explicit

Sub sample()
    Dim dr As New Selenium.WebDriver
    ' dr.Start "Chrome"
    SafeOpen dr, Chrome  ' ★「Driver Start」→「SafeOpen Driver, Chorme」にするだけ
    
    dr.Get "https://www.google.co.jp/?q=selenium"
    
    Stop
End Sub