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

    Custom UI Editorの最新版がGitHubで公開されました。

    下記記事等で紹介している、リボンUIをカスタマイズするためのツール「C…

  2. Office関連

    Chrome DevTools ProtocolでEdgeを操作するVBAマクロ

    Microsoft Edgeの操作を自動化する際はWebDriverを…

  3. Office関連

    Office 2016のコントロールIDリストが公開されました。

    昨年の秋にリリースされたOffice 2016。そのコントロールI…

  4. Office関連

    Yahoo!翻訳で文字列を翻訳するマクロ

    「Google翻訳で文字列を翻訳するマクロ」ではGoogle翻訳を利用…

  5. Office関連

    「いちばんやさしいPowerPoint VBAの教本」レビュー

    「インストラクターのネタ帳」で有名な伊藤さんが執筆された書籍第二弾、「…

コメント

  • コメント (2)

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

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

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

  1. > liki さん

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

    https://github.com/GCuser99/SeleniumVBA

Time limit is exhausted. Please reload CAPTCHA.

※本ページはプロモーションが含まれています。

Translate

最近の記事

アーカイブ

PAGE TOP