WebDriver.SetCapabilityセットケイパビリティー メソッド

本ページには広告が含まれています。

DesiredCapabilities情報を設定します。DesiredCapabilitiesとはテスト環境ごとに要求される設定情報のことです。

構文
WebDriver.SetCapability( key, value )
引数
key (String)必須
キー
value 必須
戻り値

起動済みのChromeを操作

起動済みのChroweを操作するための手順は以下のとおりです。

  1. Google Chromeのポート番号を固定しブラウザを起動する。
  2. ポート番号からブラウザを特定し取得や操作をします。

ポート番号を固定して起動

ポート番号を固定でChromeを起動するには、コマンドプロンプトで以下のコマンドを実行します。

プレーンテキスト
chrome.exeのパス -remote-debugging-port=9222 -user-data-dir=プロフィールパス

chrome.exeのパスは以下のプログラムで確認することができます。

UWSC
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では以下のように記述します。

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 メソッドdebuggerAddress127.0.0.1:9222を指定することで、起動済みのブラウザを取得することができます。

UWSC
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")

WITH WebDriver
	.SetCapability("debuggerAddress", "127.0.0.1:9222")
	.Start("chrome")
ENDWITH

以下は取得したブラウザのタイトルとURLを取得する例です。

UWSC
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")

WITH WebDriver
	.SetCapability("debuggerAddress", "127.0.0.1:9222")
	.Start("chrome")
	PRINT .title
	PRINT .url
ENDWITH

URLの遷移をすることも可能です。

UWSC
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"

11652PIDで実行するたびに変わります。

UWSC
  TCP         127.0.0.1:9222         0.0.0.0:0              LISTENING       11652

ブラウザを終了するには以下のように記述します。

UWSC
DOSCMD("taskkill /pid <終了するブラウザのPID>")

PID11652のときは以下のようになります。

UWSC
DOSCMD("taskkill /pid 11652")

参考文献

  1. PythonのSeleniumを使って、起動済みのブラウザを操作する。 #Python - Qiita