SeleniumBasicをリモートデバッグで利用する  browsers_debug

リファレンス

 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

デバッグモードで起動したブラウザでウィキペディアのページに変遷すれば成功です。

VBAコード実行の前にデバッグモードでブラウザを起動する必要があります。

driver.SetCapability "debuggerAddress", "127.0.0.1:9222"

 今回の設定では、上記の一文がポイントとなります。
SetCapability でデバック環境を設定し、9222portを指定したブラウザのドライバ情報を設定します。
 ブラウザは事前に起動していますので、stopを挟まなくてもコード終了時にブラウザが閉じられることはないです。

ファイルダウンロード

マクロファイルは以下リンクからダウンロードできます。

ダウンロードファイルのマクロ実行注意事項(ここをクリック)

 ファイルダウンロード後、マクロ実行するまでの注意事項を記載しておきます。

STEP
SeleniumBasicのインストール、ChromeDriverの更新

 マクロファイルを実行するには、事前にSeleniumBasicをインストールしておく必要があります。同時にChromeDriverを現在のChromeブラウザのバージョンに合わせて更新しておきます。SeleniumBasicのインストールとChromeDriverの更新については以下記事を参照ください。

STEP
コンテンツの有効化

マクロファイルを開き、「コンテンツの有効化」をクリックします。

STEP
セキュリティ リスク設定の確認

 Web上からダウンロードしたマクロファイルはデフォルトで実行できない様に設定されています。ダウンロードしたマクロファイルを開いて以下の様に(このファイルのソースが信頼できないため、Microsoftによりマクロの実行がブロックされました。)表示される場合はファイルプロパティを変更します。

STEP
ファイルプロパティの変更

 ファイルプロパティを開いて、セキュリティ項目の「許可する」にチェックを入れ、「OK」をクリックする。

STEP
Selenium Type libraryのチェック

 VBE(Visual Basic Editor)画面の参照設定を開き、「Selenium Type library」にチェックを入れて、OKをクリックします。

STEP
デバッグ実行

 一度ファイルを閉じて、再度ファイルを開き、「コンテンツの有効化」をクリックします。その後、マクロ実行します。ダウンロードファイルは基本的に実行ボタンを実装していませんので、マクロファイルを実行するには、VBEを開き、デバッグ実行によって、スクリプト実行します。

 Excelファイルを開いた後、Alt + F11にてVBEエディタを開き、該当のプロシージャまでカーソル移動して、F5にてデバッグ実行します。

その他方法

 リモートデバッグ実行する方法で、AddArgumentメソッドを利用する方法もあります。具体的な方法は以下記事を参照ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。

目次