【VBA】ChoromeDriverを自動更新する【SeleniumBasic】

ブラウザを自動化するためには
 ・SeleniumBasic
 ・ChoromeDriver
が必要です!
※ブラウザ「Chrome」も必要です

また
 ・ブラウザ「Chrome」のバージョン
 ・ChoromeDriverのバージョン
が合っている必要があります!

ブラウザ「Chrome」のバージョンは
どんどん変わっていきます!
※よってChoromeDriverとバージョンが合わなくなっていきます。

そのため
 ・ブラウザ「Chrome」のバージョンに合うように
 ・ChoromeDriverのバージョンを自動更新
できると便利です!

この記事では
 ・ChoromeDriverのバージョンを自動更新するVBAコード
を紹介します!

GitHubで公開されている
 ・WebDriverManager-for-VBA
を使用して自動更新します!

PR

ブラウザ「Chrome」とChoromeDriverのバージョンが合っていないと…

ブラウザ「Chrome」のバージョンとChoromeDriverのバージョンが合っていないと、
エラー「SessionNotCreatedException」が発生します。

エラーメッセージ
エラーメッセージ
PR

WebDriverManager-for-VBAの取得

手順

以下のURLにアクセスする。



手順

「Code」-「Download ZIP」をクリックして「WebDriverManager-for-VBA-main.zip」をダウンロードする。

「WebDriverManager-for-VBA-main.zip」をダウンロード
「WebDriverManager-for-VBA-main.zip」をダウンロード



手順

「WebDriverManager-for-VBA-main.zip」を展開して、展開後のフォルダの中にある「WebDriverManager4SeleniumBasic.bas」をVBEにドロップ & ドラッグする。

「WebDriverManager4SeleniumBasic.bas」をVBEにドロップ & ドラッグ
「WebDriverManager4SeleniumBasic.bas」をVBEにドロップ & ドラッグ
ドロップ & ドラッグした結果
ドロップ & ドラッグした結果
PR

VBAコード

SeleniumBasicを使用してURLを表示する前に、「WebDriverManager4SeleniumBasic.bas」内にあるSubプロシージャ「SafeOpen」を実行します。
※実行することでChoromeDriverが自動更新されます。

Option Explicit

Sub sample()
    
    Dim url As String
    Dim inputString As String
    Dim driver As ChromeDriver
    
    'URL
    url = "https://www.google.com"
    '検索ボックスに入力する文字列
    inputString = "VBA実践ガイド"
    
    'Chromeを起動
    Set driver = New ChromeDriver
    
    'ChoromeDriverを自動更新
    SafeOpen driver, Chrome
    
    'URLを表示
    driver.Get url
    '検索ボックスに文字列を入力
    driver.FindElementByName("q").SendKeys inputString
    
    'ElementNotVisibleErrorを回避するため1秒待つ
    driver.Wait 1000
    
    '検索ボタンをクリック
    driver.FindElementByName("btnK").Click
    
    '3秒待つ
    driver.Wait 3000
    
    'Chromeを閉じる
    driver.Close
    Set driver = Nothing

End Sub

Subプロシージャ「SafeOpen」を実行します(18行目)。
※1つ目の引数に「ChromeDriverオブジェクト」を指定します。
※2つ目の引数に列挙体「BrowserName」に定義されている「Chrome」を指定します。
 列挙体「BrowserName」は「WebDriverManager4SeleniumBasic.bas」内に定義されています。

列挙体「BrowserName」
列挙体「BrowserName」
PR

実行結果

エラー「SessionNotCreatedException」が起きなくなりました。

PR

参考①

Subプロシージャ「SafeOpen」の詳細は、以下をご確認ください。

PR

参考②

SeleniumBasicのインストール等の詳細は、以下の記事をご確認ください。