目次
概要
ブラウザ上の文字列入力用コマンドになります。特殊キーについは、対象キーを{{}}で囲む事で実行可能になります。使用例はShort Exampleを参照ください。利用できる特殊キーは、Get-SeKeysコマンドで一覧取得することができます。
PowerShellでSeleniumモジュールを利用する方法
Seleniumは多言語で利用可能なツールです。PowerShell専用でSeleniumのクラスは用意されていませんが、C#用に.NETのSeleniumは用意されています。公式には例文も無い...
コマンド(Commond)
Send-SeKeys
代替コマンド(Alias)
無し
構文(Syntax)
Send-SeKeys [-Element] <IWebElement> [-Keys] <string> [-PassThru] [<CommonParameters>]
オプション
Name | 引数型 | 解説 | Short Example |
---|---|---|---|
Element | IWebElement | 対象要素の指定 | Send-SeKeys -Element $Element -Keys "{{Shift}}hoge" -PassThru |
Keys | string | 入力する文字列 | Send-SeKeys -Element $Element -Keys "{{Shift}}hoge" -PassThru |
PassThru | Object | $Elementのオブジェクト情報を返す | Send-SeKeys -Element $Element -Keys "{{Shift}}hoge" -PassThru |
CommonParameters | string |
※ShortExampleは、動作確認ができたコードを記載しています。
オブジェクトプロパティ
Name | 出力例 |
---|---|
WrappedDriver | OpenQA.Selenium.Chrome.ChromeDriver |
TagName | textarea |
Text | |
Enabled | TRUE |
Selected | FALSE |
Location | {X=265,Y=190} |
Size | {Width=395, Height=27} |
Displayed | TRUE |
LocationOnScreenOnceScrolledIntoView | {X=265,Y=190} |
Coordinates | OpenQA.Selenium.Remote.RemoteCoordinates |
※ShortExampleは、動作確認ができたコードを記載しています。
Example
$Driver = Start-SeChrome -StartURL "https://google.co.jp" -Quiet
$Element = Find-SeElement -Driver $Driver -Name "q"
Send-SeKeys -Element $Element -Keys "{{Shift}}hoge" -PassThru
Start-Sleep -Seconds 2
Stop-SeDriver $Driver
Module
Send-SeKeysのSelenium-Module構文を以下に掲載します。
function Send-SeKeys {
param(
[Parameter(Mandatory = $true, Position = 0, ValueFromPipeline = $true)]
[OpenQA.Selenium.IWebElement]$Element,
[Parameter(Mandatory = $true, Position = 1)]
[string]$Keys,
[Parameter()]
[Alias('PT')]
[switch]$PassThru
)
foreach ($Key in $Script:SeKeys.Name) {
$Keys = $Keys -replace "{{$Key}}", [OpenQA.Selenium.Keys]::$Key
}
$Element.SendKeys($Keys)
if ($PassThru) { $Element }
}