C#版のSelenium WebDriverをPowerShellから使えるようにしたPowerShellモジュール「selenium-powershell」を利用して、Web画面の操作を自動化する方法を紹介します。操作対象画面は、当ブログの「Webページ項目要素サンプル」ページです。

Nameの代わりにTagNameを指定する方法も可能です。

■スクリプト例1
要素をCssSelectorを指定して検索し、クリックする例です。
要素をCssSelectorを指定して検索し、クリックする例です。
#「Webページ項目要素サンプル」ページを開く。 $d=Start-SeChrome -StartURL https://masuo.doorblog.jp/archives/51849723.html #ラジオボタン[サイズ]の[小]をCssSelectorを指定して検索する。 $e=$d.FindElementByCssSelector('input:nth-child(4)') #項目要素が存在した場合にクリックする。 if( $e ){ $e.Click() } #WebDriverを停止・廃棄する。 $d.Dispose()
■スクリプト例2
[サイズ]の選択肢になっているラジオボタンをNameを指定して全て検索する例です。
(メソッド「FindElementsByName」の「s」に注意)
[サイズ]の選択肢になっているラジオボタンをNameを指定して全て検索する例です。
(メソッド「FindElementsByName」の「s」に注意)
#「Webページ項目要素サンプル」ページを開く。
$d=Start-SeChrome -StartURL https://masuo.doorblog.jp/archives/51849723.html
#[サイズ]の選択肢になっているラジオボタンをName「size」を指定して全て検索する。
$es=$d.FindElementsByName('size')
foreach( $e in $es ){
#属性値[value]を出力する。
$e.GetAttribute('value')
#プロパティ[Seleced]を出力する。
$e.Selected
}
#WebDriverを停止・廃棄する。
$d.Dispose()
Nameの代わりにTagNameを指定する方法も可能です。
#[サイズ]の選択肢になっているラジオボタンをTagName「input」、属性「name」を指定して全て検索する。 $e=$d.FindElementsByTagName('input[name="size"]')
#[サイズ]の選択肢になっているラジオボタンをTagName「input」、属性「type」と「size」を指定して全て検索する。 $e=$d.FindElementsByTagName('input[type="radio"][name="size"]')
コメント
このブログにコメントするにはログインが必要です。
さんログアウト
この記事には許可ユーザしかコメントができません。