【PowerShell】Selenium-Module Get-SeElementAttribute 属性値の取得

目次

概要

 Web要素の属性を指定して、属性値を取得するメソッドになります。ブラウザに表示されているテキストを取得する場合は属性指定する際、"textContent"を指定します。属性を調べるにはブラウザの開発モードを開けば確認することができます。以下画面例では、属性はclass、hrefを確認することができました。

 PowerShellでSeleniumを利用するに当たって、ある程度簡易的にSeleniumを利用できる様に専用のモジュールがGitHubに用意されています。いきなりPowerShellでSeleniumを扱うより、Seleniumを-Moduleを利用した方が簡単にPowerShellでSleniumを利用することができます。環境構築するには、以下ページを参照してみてください。

コマンド(Commond)

Get-SeElementAttribute

代替コマンド(Alias)

無し

構文(Syntax)

Get-SeElementAttribute [-Element] <IWebElement> [-Attribute] <string> [<CommonParameters>]

オプション

Name引数型解説Short Example
ElementIWebElement対象Elementの指定Get-SeElementAttribute -Element $Element -Attribute "textContent"
Attributestring属性名指定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)
    }
}
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

VBAを中心とした自動化、効率化の手法を紹介しています。現在は、SeleniumBasicのexamplesを紹介しています。その内、SeleniumBasic以外の手法も掲載したいと思っております。

目次