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. Office関連

    古い形式のWordテンプレートを新しい形式に一括変換するVBScript

    古い形式のWordテンプレート(dot)を新しい形式(dotx,dot…

  2. アイコン一覧

    Office 2013 アイコン一覧(K,L)

    ・Office 2013 アイコン一覧 NUM…

  3. Office関連

    Faviconをダウンロードするマクロ

    WebサイトからFaviconを抜き出すAPIがあったので早速使ってみ…

  4. Office関連

    goo.glで短縮URLを取得するVBAマクロ

    何年か前にHPで「goo.glで短縮URLを取得する」マクロを紹介しま…

  5. Windows 10

    SeleniumBasic(Selenium VBA)がMicrosoft Edgeに対応しました。…

    言わずと知れたWebブラウザーの自動制御ツール「Selenium」のV…

  6. Office関連

    Excel REST APIをVBAから呼び出す方法

    「Microsoft GraphをVBAから呼び出してOneNoteの…

コメント

  • コメント (2)

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

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

  2. > liki さん

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

    https://github.com/GCuser99/SeleniumVBA

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP