browsers_debugの内容解説と利用方法について説明します。
リモートデバッグをは何かというと、異なるOSの仮想環境のブラウザをリモートで接続してテストする事の様ですが、今回はその様な目的では利用しません。
デバッグモードでChromeを立上げると、ログイン状態のブラウザを操作ことができます。
デバックモードでGoogleChromeをVBAから起動させるためには、事前にデバッグモードモード用のブラウザを起動させておく必要となります。
- 利用目的は業務効率化です。(テスト自動化ではありません)
- ブラウザはGoogleChromeが対象です。(EdgeやFirefoxは対象外)
- 原文のVBAでは現在エラー発生する場合が多いため、修正を加えてます。
Examples.xlsmの保存場所(ここをクリック)
Examples.xlsmが保存されている場所は、SeleniumBasicがインストールされているサブフォルダ内になります。SeleniumBasicのインストール完了時に保存フォルダを確認することができます。ただ、大体以下フォルダのどちらかにファイル保存されています。
- C:\Program Files\Seleniumbasic\Examples\Excel
- shell:Local AppData\SeleniumBasic\Examples\Excel
デバッグモード用のブラウザ起動(port:9222)
デフォルト設定とは別のポートで経由でブラウザを起動します。
以下のコードを「コマンドプロンプト」を起動して実行するか、「ファイル名を実行して実行」にコピペしてください。Chromeのexeファイルの場所は、Program Files (x86)の場合とProgram Filesの場合があります。
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" -remote-debugging-port=9222 --user-data-dir=C:\Temp_Chrome
デバッグモード(port:9222)のブラウザが起動します。
ここで、ログインまですれば次回以降、デバッグモードでブラウザ起動した時は、ログインが保持された状態になります。
SeleniumBasicでデバッグモード用のブラウザ操作browsers_debug
デバック用のブラウザを起動した状態で以下コードをVBAから実行してみてください。
Private Sub Connect_To_Chrome()
Dim driver As New ChromeDriver
driver.SetCapability "debuggerAddress", "127.0.0.1:9222"
driver.Get "https://programan.org/"
Stop
End Sub
デバッグモードで起動したブラウザでウィキペディアのページに変遷すれば成功です。
driver.SetCapability "debuggerAddress", "127.0.0.1:9222"
今回の設定では、上記の一文がポイントとなります。
SetCapability でデバック環境を設定し、9222portを指定したブラウザのドライバ情報を設定します。
ブラウザは事前に起動していますので、stopを挟まなくてもコード終了時にブラウザが閉じられることはないです。
ファイルダウンロード
マクロファイルは以下リンクからダウンロードできます。
ダウンロードファイルのマクロ実行注意事項(ここをクリック)
ファイルダウンロード後、マクロ実行するまでの注意事項を記載しておきます。
マクロファイルを実行するには、事前にSeleniumBasicをインストールしておく必要があります。同時にChromeDriverを現在のChromeブラウザのバージョンに合わせて更新しておきます。SeleniumBasicのインストールとChromeDriverの更新については以下記事を参照ください。
マクロファイルを開き、「コンテンツの有効化」をクリックします。
Web上からダウンロードしたマクロファイルはデフォルトで実行できない様に設定されています。ダウンロードしたマクロファイルを開いて以下の様に(このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。)表示される場合はファイルプロパティを変更します。
ファイルプロパティを開いて、セキュリティ項目の「許可する」にチェックを入れ、「OK」をクリックする。
VBE(Visual Basic Editor)画面の参照設定を開き、「Selenium Type library」にチェックを入れて、OKをクリックします。
一度ファイルを閉じて、再度ファイルを開き、「コンテンツの有効化」をクリックします。その後、マクロ実行します。ダウンロードファイルは基本的に実行ボタンを実装していませんので、マクロファイルを実行するには、VBEを開き、デバッグ実行によって、スクリプト実行します。
Excelファイルを開いた後、Alt + F11にてVBEエディタを開き、該当のプロシージャまでカーソル移動して、F5にてデバッグ実行します。
その他方法
リモートデバッグ実行する方法で、AddArgumentメソッドを利用する方法もあります。具体的な方法は以下記事を参照ください。