【2022年11月最新版】【SeleniumBasic】ChromeDriver, EdgeDriverの自動更新方法

こんにちは、blueです。

最近日に数PVある以下の記事、WebDriverのバージョン問題です。

私も非常に面倒と思っていたら以下の記事を見つけました。

やまとさんというVBA(に限らず)つよつよさんが自身で作られたそうです。

WebDriverManagerというソフトを入れれば自動更新してくれるという話は最近出ていたのですがVBA版はなかったので残念と思っていたらすぐ作られていました(すごい)。

なので早速入れてみました。

~2022年4月22日追記~

2022年4月21日に修正がなされています。この修正により毎回ではなくWebDriverが最新版でないときのみ更新されるようになりました。

スポンサーリンク

WebDriverManager for VBAのインストール方法

以下のサイトからWebDriverManager for VBAをインストールしていきます。

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

・「Code」をクリックして「Download ZIP」をクリックする

得られたZipファイルを展開し、 WebDriverManager4SeleniumBasic.basがあることを確認する。

・WebDriverManager4SeleniumBasic.basファイルを目的のVBEの標準モジュールにドラッグアンドドロップする

これで終了です。

あとは「Driver.Start ”chrome”」(EdgeはDriver.Start “Edge”)の部分を

SafeOpen Driver, Chrome」(EdgeはSafeOpen Driver, Edge)に書き換える

すると・・・・

入れる前の状態は以下であったのが

以下のように無事開かれるようになります。

ここでどういう動きをしているかなど詳細は以下をご確認いただいたほうが良いと思います。

なおイミディエイトウィンドウでインストールの状況がみれるようになっています(親切😊)。

ここでのまとめ

ChromeDriver, EdgeDriverのバージョン問題はWebDriverManager for VBAをインポートすることで解消されます。

今後は手動で入れ替える必要がなくなるのでぜひインポートしてください。

↓困ったときは以下が頼りになります。私も利用させてもらってます😊。

TVCMで話題のココナラ

Selenium-VBAでのWebスクレイピングに関する記事はこちらをどうぞ

Web-APIを用いたデータ取得に関する記事はこちらをどうぞ

【VBA】Web APIを使ってデータを取得する(OpenWeatherMap)1
【VBA】Web APIを使って時間別天気予報を取得する(気象庁API)
【VBA】Web APIを使ってLINE通知を行う(LINE Notify)1


コメント

  1. Sasaki より:

    こんにちわ。こちらに掲載されていたこのwebdriver自動更新コードのおかげで、面倒なドライバーの更新が自動化され、大変重宝しております。
    ありがとうございました。
    ところで質問なのですが、適正なドライバーが既にダウンロードされていた場合は、ダウンロードしないようなバージョンなどはあるのでしょうか?

    • blue より:

      ご質問ありがとうございます。
      作成者の方は存じており、話したこともあるのですがうまく最新バージョンかどうかを判別できないので
      削除→再インストールをするようにしたと言われてました。
      FileSystemObjectの部分は見て分かるのですがほかのAPIも使われていたりするのでよくわかりませんでした・・・
      ご期待に沿えずすみません。

      • Sasaki より:

        こんにちわ。
        丁寧なご返信ありがとうございます。
        そうでしょうね。まあ、VBA初級の自分が思いつくことなので、当然作られた方は気づいてらっしゃるとは考えていましたが、
        でも、面倒なドライバーの更新が自動で行われるだけでも非常に有難いです。
        テクニックが上級すぎて、コードの内容はさっぱりわかりませんでしたが。
        ありがとうございました。

        • blue より:

          ありがとうございます。
          ファイルの存在可否はコード中も存在しているのでできるはずなのですが、きっと難しいんだと思います・・・。
          軽くもう一度聞いてみます。

          • blue より:

            ちょうど話題に出たので修正してみました。やり方は少し違いますが求めていることはできていますので記事をご確認ください。やまとさんはそのうちWebDriverManagerも更新するっておっしゃってました^^

        • blue より:

          お世話になります。やまとさんが更新くださいました。ドライバーの更新は必要な時にだけ行われるようになりました。入れなおしてみてください

          • Sasaki より:

            ありがとうございます!
            ドライバーの更新だけでもとてつもなく有難いのに、必要な時だけダウンロードされるように仕様変更してくださるとか、嬉しすぎます。
            現在、Selenium BasicによるChromeによるWEBスクレイピングが必須となる業務に携わっており、このDriverManagerをとても重宝して使わせていただいております。
            お金を払ってもいいレベルのユーティリティーなのに有難すぎます!
            早速、試してみたいと思います。

          • blue より:

            よかったです。引き続きよろしくお願いします。

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