はじめに
最短でブラウザを動かすまでの手順です。
1. マクロブックを信頼する
インターネットからダウンロードしたファイルには Mark of the Web (MOTW) が付きます。次を行ってください。
Excel をすべて閉じる
ファイルを右クリック → プロパティ

許可する にチェック → OK

再度開き、「編集を有効にする」/マクロを許可

詳細な説明はリポジトリの README-jp.md を参照してください。
2. ブラウザ起動設定シート
ワークシート ブラウザ起動設定ver2.X.X で次を確認します。
- ユーザーデータフォルダ名(
user-data-dir用) - 追加の起動引数(基本は、J13セル以降に記述)
- 起動時のブラウザ表示モード(ShowWindowのnCmdShowに準拠)
- 特定のChromiumブラウザで自動化する場合はそのフルパス

こだわりがなければシートの初期値のままで問題ありません。
3. Hello World
標準モジュールのデモ、または新規モジュールに次を書いて実行します。
vb
Sub CDPによる冒険の始まり()
Dim HelloWorld As CDPContext
Set HelloWorld = ShSetting01_StartBrowser.StartCDPModeContext
HelloWorld.navigate "https://kemono-friends.jp/"
HelloWorld.notify "あなたは、けものがお好きですか?"
HelloWorld.InheritanceCDPBrowser.sleep 3
HelloWorld.InheritanceCDPBrowser.quit
End Subvb
Sub BiDiによる冒険の始まり()
Dim HelloWorld As WebDriverBiDiContext
Set HelloWorld = ShSetting01_StartBrowser.StartBiDiModeContext
HelloWorld.navigate "https://example.com"
HelloWorld.InheritanceWebDriverBiDiMode.quit
End Sub同梱デモ:
Demo_CDP.CDPによる冒険の始まりDemo_WebDriverBiDi.BiDiによる冒険の始まり
起動ヘルパーメソッド
シートオブジェクト:ShSetting01_StartBrowser を利用して少ない引数で直ぐに開始できるヘルパーメソッドです。
下記4種類を用意しております。
| 関数 | 戻り値 | 用途 |
|---|---|---|
StartCDPModeContext | CDPContext | タブ操作からすぐ始めたい(推奨) |
StartCDPMode | CDPBrowser | タブを自分で newTab / getTab したい |
StartBiDiModeContext | WebDriverBiDiContext | BiDi でタブ操作から始める(推奨) |
StartBiDiMode | WebDriverBiDiMode | BiDi でセッション/タブを細かく制御 |
いずれも省略可能な引数:
StartURL— 起動直後に開く URLSwitchUser— 別プロファイル名で起動(マルチインスタンス)KioskMode— Edge キオスク/UserForm 埋め込み向け
BiDi のみ、追加で sessionCapabilitiesRequest といった初期設定引数を用意しています。必要に応じて事前に Dictionary を組み立て、引数に渡してください。
sessionCapabilitiesRequest とは
BiDi セッション確立コマンド session.new に渡す Parameters です。ブラウザ起動後・コマンド実行前に、「このセッションではどう振る舞うか」を Capabilities として宣言します(WebDriver の Desired Capabilities に相当)。
典型的な形は次のとおりです。
vb
Dim caps As New Dictionary
Dim alwaysMatch As New Dictionary
' 例: 未処理の alert / confirm / prompt を自動で閉じず、イベントで扱う
alwaysMatch.Add "unhandledPromptBehavior", "ignore"
caps.Add "capabilities", New Dictionary
caps("capabilities").Add "alwaysMatch", alwaysMatch
Set t = ShSetting01_StartBrowser.StartBiDiModeContext( _
StartURL:="https://example.com", _
sessionCapabilitiesRequest:=caps)- 省略時は
{ "capabilities": {} }相当の既定値でsession.newします StartBiDiMode/StartBiDiModeContextの両方で使えますreattachでも渡せますが、新規に BiDi-CDP Mapper が起動したときだけ 適用されます
詳細な Capabilities 一覧は W3C WebDriver BiDi — session.new を参照してください。
4. 終了時は必ず quit
パイプ/マッパーを残さないよう、処理の最後でブラウザを閉じます。
vb
' CDP
t.InheritanceCDPBrowser.quit
' BiDi
t.InheritanceWebDriverBiDiMode.quit
