Office関連

VBAでブラウザーを操作するSeleniumWrapperVBAの紹介

Internet Explorerのサポートが終わり、VBAマクロからブラウザーを操作する手段としては「SeleniumBasic」が多く使われていると思います。

ただSeleniumBasicは使用前にインストールする必要がありますし、更新も数年止まっています。
そこで下記記事ではインストール不要で使える「TinySeleniumVBA」(うえぞう氏作成、MITライセンス)を紹介しています。

今回はTinySeleniumVBA同様にWebDriverさえあれば使えるフレームワーク「SeleniumWrapperVBA」(er-ri氏作成、MITライセンス)を紹介します。

WebDriverの準備

SeleniumWrapperVBAを使うには各ブラウザーのWebDriverが必要になりますので、環境に応じて必要なWebDriverを事前にダウンロードしておきます。

SeleniumWrapperVBAの使い方

  1. SeleniumWrapperVBA」を開きます。
  2. Code → Download ZIP から必要なファイル一式をダウンロードし、ダウンロードしたZipファイルを適当なフォルダに解凍します。
  3. VBEを開き、「Options.cls」、「WebDriver.cls」、「WebElement.cls」、「JsonConverter.bas」(VBA-JSON)ファイルをプロジェクトエクスプローラにドラッグ&ドロップしてインポートします(※「ファイル」メニュー → 「ファイルのインポート」からインポートしても可)。
  4. 「ツール」メニュー → 「参照設定」から「Microsoft Scripting Runtime」にチェックを入れて「OK」ボタンをクリックします。
  5. 下記コードを実行し動作確認を行います。下記コードではブラウザー起動時の引数としてWebDriverのパスを指定していますが、Path環境変数として設定しておいても良いようです。
  6. Option Explicit
    
    'SeleniumWrapperVBAでMicrosoft Edgeを操作するサンプル
    Public Sub Sample()
      Dim driver As WebDriver
      
      Set driver = New WebDriver
      With driver
        .Edge "C:\System\Driver\Edge\msedgedriver.exe" 'WebDriverのパスを引数で指定
        .OpenBrowser
        .MaximizeWindow
        .NavigateTo "https://www.ka-net.org/blog/"
        .FindElement(By.ID, "main_col").TakeScreenshot ThisWorkbook.Path & "\Screenshot.png"
        .Quit
      End With
    End Sub

以上、SeleniumWrapperVBAを簡単に紹介してみました。
TinySeleniumVBAと同様にWebDriverさえあれば必要なファイルをインポートするだけで使えるので非常にお手軽です。
ライセンスもMITで使いやすいので、ブラウザー操作にお困りの方は一度試してみてはいかがでしょうか。

関連記事

※WebDriverを使わずにブラウザーを操作するためのライブラリを下記記事で紹介しています。

ChromeDriverでBraveを操作するPowerShellスクリプト前のページ

SlackのメッセージをCSVファイルとして保存するPowerShellスクリプト次のページ

関連記事

  1. Windows 10

    Microsoft Edgeを操作するVBAマクロ(DOM編)

    2021/10/1 追記:本記事は公開されてから大分時間が経ってお…

  2. Office アドイン

    [Office用アプリ]User Agent他を調べてみました。

    ふと気になったので、Office 用アプリをローカル環境にインストール…

  3. Office関連

    選択中の表の行数を取得するWordマクロ

    「Word VBA 表 行数」といったキーワード検索でのアクセスがあり…

  4. Office アドイン

    [Office用アプリ]法人登録する際の参考資料

    法人としてMicrosoft Seller DashboardでOff…

コメント

  • コメント (2)

  • トラックバックは利用できません。

    • liki
    • 2022年 7月 13日 8:07pm

    TinySeleniumVBAの機能拡張版です
    最近知って使ってます

  1. > liki さん

    ご紹介いただき、ありがとうございます。
    こうした拡張版が公開されるのもオープンソースならではですね!
    大変参考になります。

    https://github.com/GCuser99/SeleniumVBA

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP