Selenium Python の getAttribute() 関数

Rana Hasnain Khan 2023年6月21日
  1. Selenium Python の getAttribute() 関数
  2. Selenium Python での getAttribute() 関数の利点
Selenium Python の getAttribute() 関数

Selenium 用の Python モジュールは、自動化されたテスト プロセスを提供するために開発されました。 Selenium Python バインディングには、Selenium WebDriver の機能/受け入れテストを作成するためのシンプルな API が含まれています。

移動能力を持つことはあまり有益ではありません。 ページ、より正確には、ページを構成する HTML 部分と対話したいと考えています。

この記事では、Selenium の getAttribute() メソッドを使用して説明します。

Selenium Python の getAttribute() 関数

getAttribute() メソッドは、アンカー タグの href 属性などの要素のプロパティを取得できます。 この関数は、最初に指定されたプロパティの値を返そうとします。

そのようなプロパティが存在しない場合は、同じ名前の属性の値が返されます。 ただし、要素に属性が存在しない場合は何も返されません。

属性とは

HTML の属性は、要素のプロパティを定義します。 属性は名前と値のペアで構成されます。つまり、各属性には値と名前があります。

それらの値は二重引用符で囲まれ、開始タグで提供されます。 HTML 属性には次のものがあります。

< a target="_blank" href="#" class="btn" >

<img src="#" class="image" alt="myImage" >

< input style="height:50px;" class="form-control" type="email" placeholder="Enter email" name="emailAddress" id="emailAddress" >

< button onclick="#" class="btn" value="" >Login< /button >

上記の例のように、HTML タグはさまざまなプロパティと値を取得します。 たとえば、input タグには、classstyleplaceholdertypenameid などの多くの属性がありました。

各プロパティの二重引用符で囲まれた数字があります。 HTML Web 要素の属性が何を意味するか、またはそれがどのように表示されるかを理解したところで、getAttributes() メソッドが役立つ理由を確認しましょう。

Selenium Python での getAttribute() 関数の利点

入力フィールドのプレースホルダー コンテンツ、画像ソース、およびフィールド サイズを再確認する必要がある状況を考えてみましょう。 getAttribute() メソッドは、この状況でこの問題を解決します。

属性の値を取得するには、それを保持する Web 要素を見つけて、getAttribute() メソッドを使用します。

以下に示すように、実際の例でこのメソッドの構文について説明しましょう。

# python

GetElem.get_attribute("href")

上記の構文からわかるように、href 属性を取得しようとしています。 それでは、getAttribute() メソッドを使用して値を取得する実際の例を見てみましょう。これを利用するための基本的な構文を学習しました。

基本的なテスト スクリプトを開発するために、ダミーの Web サイトを利用します。 コードに移る前に、ユースケースを見てみましょう。

  1. まずダミーサイトに行きます。
  2. ホームページのフロントエンドで、リンクの href 属性を取得します。
  3. 画像の src 属性も取得します。

では、このユース ケースのコードを見てみましょう。

コード例:

# python
from selenium import webdriver

chromeDriver = webdriver.Chrome()

chromeDriver.get("https://www.inventicosolutions.com/")

getElemByLink = chromeDriver.find_element_by_link_text("About Us")

print(getElemByLink.get_attribute("href"))

getElemByClass = chromeDriver.find_element_by_xpath(
    "/html/body/main/div/div[1]/section[1]/div/div/div/div[7]/div/img"
)

print(getElemByClass.get_attribute("src"))

出力:

Python での Selenium getAttribute() の例

上記の例からわかるように、getAttribute() メソッドを使用して、HTML タグから任意の属性を取得できます。 この方法は、Web スクレイピングで Web サイトからリンクや画像などの特定のデータを取得するのに役立ちます。

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn

関連記事 - Python Selenium