目次
概要
ブラウザ画面の「戻る」、「進む」、「更新」を操作する関数になります。URLを指定して画面変遷することもできます。
PowerShellでSeleniumモジュールを利用する方法
Seleniumは多言語で利用可能なツールです。PowerShell専用でSeleniumのクラスは用意されていませんが、C#用に.NETのSeleniumは用意されています。公式には例文も無い...
コマンド(Commond)
Open-SeUrl
代替コマンド(Alias)
Open-SeUrlSeNavigate、Enter-SeUrl
構文(Syntax)
- Open-SeUrl [-Target <Object>] [<CommonParameters>]
- Open-SeUrl [-Url] <string> [-Target <Object>] [<CommonParameters>]
- Open-SeUrl -Back [-Target <Object>] [<CommonParameters>]
- Open-SeUrl -Forward [-Target <Object>] [<CommonParameters>]
- Open-SeUrl -Refresh [-Target <Object>] [<CommonParameters>]
オプション
Name | 引数型 | 解説 | Short Example |
---|---|---|---|
Url | Object | URLの指定 | Open-SeUrl -Url https://programan.org/ -Target $Driver |
Target | Object | Driverオブジェクトを指定 | Open-SeUrl -Url https://programan.org/ -Target $Driver |
Back | ブラウザの「戻る」 | Open-SeUrl -Driver $Driver -Back | |
Forward | ブラウザの「進む」 | Open-SeUrl -Driver $Driver -Forward | |
Refresh | ブラウザ更新 | Open-SeUrl -Driver $Driver -Refresh | |
CommonParameters | 共通パラメータ |
※ShortExampleは、動作確認ができたコードを記載しています。
Example
Open-SeUrl関数で以下の様なブラウザ操作を実行します。(操作毎に2秒の待機時間を設けています。)
指定URLへ移動 ⇒ リンクをクリック ⇒ 戻る ⇒ 進む ⇒ 画面更新 ⇒ ブラウザを閉じる
$Driver = Start-SeChrome -Quiet
Open-SeUrl -Url https://programan.org/ -Target $Driver
$Element = Get-SeElement -Target $Driver -ClassName "newmark" -Timeout 10
Invoke-SeClick -Element $Element
Start-Sleep -Seconds 2
Open-SeUrl -Driver $Driver -Back
Start-Sleep -Seconds 2
Open-SeUrl -Driver $Driver -Forward
Start-Sleep -Seconds 2
Open-SeUrl -Driver $Driver -Refresh
Start-Sleep -Seconds 2
Stop-SeDriver $Driver
Module
Open-SeUrlのSelenium-Module構文を以下に掲載します。
function Open-SeUrl {
[cmdletbinding(DefaultParameterSetName = 'default')]
[Alias('SeNavigate', "Enter-SeUrl")]
param(
[Parameter(Mandatory = $true, position = 0, ParameterSetName = 'url')]
[ValidateURIAttribute()]
[string]$Url,
[Parameter(Mandatory = $true, ParameterSetName = 'back')]
[switch]$Back,
[Parameter(Mandatory = $true, ParameterSetName = 'forward')]
[switch]$Forward,
[Parameter(Mandatory = $true, ParameterSetName = 'refresh')]
[switch]$Refresh,
[Parameter(ValueFromPipeline = $true)]
[Alias("Driver")]
[ValidateIsWebDriverAttribute()]
$Target = $Global:SeDriver
)
switch ($PSCmdlet.ParameterSetName) {
'url' { $Target.Navigate().GoToUrl($Url); break }
'back' { $Target.Navigate().Back(); break }
'forward' { $Target.Navigate().Forward(); break }
'refresh' { $Target.Navigate().Refresh(); break }
default { throw 'Unexpected ParameterSet' }
}
}