目次
概要
Web要素の属性を指定して、属性値を取得するメソッドになります。ブラウザに表示されているテキストを取得する場合は属性指定する際、"textContent"を指定します。属性を調べるにはブラウザの開発モードを開けば確認することができます。以下画面例では、属性はclass、hrefを確認することができました。
PowerShellでSeleniumモジュールを利用する方法
Seleniumは多言語で利用可能なツールです。PowerShell専用でSeleniumのクラスは用意されていませんが、C#用に.NETのSeleniumは用意されています。公式には例文も無い...
コマンド(Commond)
Get-SeElementAttribute
代替コマンド(Alias)
無し
構文(Syntax)
Get-SeElementAttribute [-Element] <IWebElement> [-Attribute] <string> [<CommonParameters>]
オプション
Name | 引数型 | 解説 | Short Example |
---|---|---|---|
Element | IWebElement | 対象Elementの指定 | Get-SeElementAttribute -Element $Element -Attribute "textContent" |
Attribute | string | 属性名指定 | Get-SeElementAttribute -Element $Element -Attribute "textContent" |
CommonParameters | 共通パラメータ |
※ShortExampleは、動作確認ができたコードを記載しています。
Example
$Driver = Start-SeChrome -StartURL "https://ja.wikipedia.org/wiki/メインページ" -Quiet
$Element = Get-SeElement -Target $Driver -CssSelector "#sister-projects-list > div:nth-child(1) > div:nth-child(2) > b > a" -Timeout 10
Get-SeElementAttribute -Element $Element -Attribute "textContent"
Get-SeElementAttribute -Element $Element -Attribute "href"
Start-Sleep -Seconds 2
Stop-SeDriver $Driver
Module
Get-SeElementAttributeのSelenium-Module構文を以下に掲載します。
function Get-SeElementAttribute {
param(
[Parameter(ValueFromPipeline = $true, Mandatory = $true)]
[OpenQA.Selenium.IWebElement]$Element,
[Parameter(Mandatory = $true)]
[string]$Attribute
)
process {
$Element.GetAttribute($Attribute)
}
}