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

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

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

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

GitHub - yamato1413/WebDriverManager-for-VBA
Contribute to yamato1413/WebDriverManager-for-VBA development by creating an account on GitHub.

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

サンプルプログラム

修正前

Option Explicit

Sub sample()
    Dim Driver As Selenium.ChromeDriver
    Driver.Start            ' ★違いはここだけ!!

    Driver.Get "https://www.google.co.jp/?q=selenium"
    Driver.Close
End Sub

修正後

Public Sub Sample() 
    Dim Driver As Selenium.ChromeDriver
    SafeOpen Driver, Chrome ' ★違いはここだけ!!

    Driver.Navigate "https://www.google.co.jp/?q=selenium"
    Driver.ShutDown
End Sub
タイトルとURLをコピーしました