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
タグには、class
、style
、placeholder
、type
、name
、id
などの多くの属性がありました。
各プロパティの二重引用符で囲まれた数字があります。 HTML Web 要素の属性が何を意味するか、またはそれがどのように表示されるかを理解したところで、getAttributes()
メソッドが役立つ理由を確認しましょう。
Selenium Python での getAttribute()
関数の利点
入力フィールドのプレースホルダー コンテンツ、画像ソース、およびフィールド サイズを再確認する必要がある状況を考えてみましょう。 getAttribute()
メソッドは、この状況でこの問題を解決します。
属性の値を取得するには、それを保持する Web 要素を見つけて、getAttribute()
メソッドを使用します。
以下に示すように、実際の例でこのメソッドの構文について説明しましょう。
# python
GetElem.get_attribute("href")
上記の構文からわかるように、href
属性を取得しようとしています。 それでは、getAttribute()
メソッドを使用して値を取得する実際の例を見てみましょう。これを利用するための基本的な構文を学習しました。
基本的なテスト スクリプトを開発するために、ダミーの Web サイトを利用します。 コードに移る前に、ユースケースを見てみましょう。
- まずダミーサイトに行きます。
- ホームページのフロントエンドで、リンクの
href
属性を取得します。 - 画像の
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"))
出力:
上記の例からわかるように、getAttribute()
メソッドを使用して、HTML タグから任意の属性を取得できます。 この方法は、Web スクレイピングで Web サイトからリンクや画像などの特定のデータを取得するのに役立ちます。
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