DesiredCapabilities情報を設定します。DesiredCapabilitiesとはテスト環境ごとに要求される設定情報のことです。
- 構文
- WebDriver.SetCapability( key, value )
- 引数
- key (String)必須
- キー
- value 必須
- 値
- 戻り値
起動済みのChromeを操作
起動済みのChroweを操作するための手順は以下のとおりです。
- Google Chromeのポート番号を固定しブラウザを起動する。
- ポート番号からブラウザを特定し取得や操作をします。
ポート番号を固定して起動
ポート番号を固定でChromeを起動するには、コマンドプロンプトで以下のコマンドを実行します。
chrome.exeのパス -remote-debugging-port=9222 -user-data-dir=プロフィールパス
chrome.exeのパスは以下のプログラムで確認することができます。
DIM WshShell = CREATEOLEOBJ("WScript.Shell")
PRINT WshShell.RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe\")
引数の-remote-debugging-portには9222、-user-data-dirにはプロフィールパスを指定します。
プロフィールパスはChromeを起動し、アドレスバーにchrome://versionと入力し開いたページのプロフィール パスの項目の文字列を指定します。
これらを代入すると以下のようなコマンド文字列ができます。
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "-remote-debugging-port=9222" --user-data-dir="C:\Users\username\AppData\Local\Google\Chrome\User Data\Default"
これをUWSCのDOSCMD関数 (スクリプト関数)の引数に指定するかバッチファイルで保存しておくと、ポート番号を指定したブラウザをすぐに起動することができます。
UWSCでは以下のように記述します。
DOSCMD("<#DBL>C:\Program Files (x86)\Google\Chrome\Application\chrome.exe<#DBL> <#DBL>-remote-debugging-port=9222<#DBL> --user-data-dir=<#DBL>C:\Users\username\AppData\Local\Google\Chrome\User Data\Default<#DBL>")
起動済みのブラウザを取得
ポート番号を指定してブラウザを起動することができたら、次はそのブラウザをするためのプログラムです。
WebDriver.SetCapability メソッドでdebuggerAddressに127.0.0.1:9222を指定することで、起動済みのブラウザを取得することができます。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.SetCapability("debuggerAddress", "127.0.0.1:9222")
.Start("chrome")
ENDWITH
以下は取得したブラウザのタイトルとURLを取得する例です。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.SetCapability("debuggerAddress", "127.0.0.1:9222")
.Start("chrome")
PRINT .title
PRINT .url
ENDWITH
URLの遷移をすることも可能です。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.SetCapability("debuggerAddress", "127.0.0.1:9222")
.Start("chrome")
.Get("https://example.com")
ENDWITH
コマンドプロンプトで以下のプログラムを実行すると起動したブラウザの情報を確認することができます。
netstat -nao | find ":9222"
11652はPIDで実行するたびに変わります。
TCP 127.0.0.1:9222 0.0.0.0:0 LISTENING 11652
ブラウザを終了するには以下のように記述します。
DOSCMD("taskkill /pid <終了するブラウザのPID>")
PIDが11652のときは以下のようになります。
DOSCMD("taskkill /pid 11652")