Selenium Python の Web 要素メソッド
Selenium は、Web ブラウザー用の強力な自動化およびテストツールです。Web ブラウザーを制御し、特定のアクションを実行する Selenium を使用してスクリプトを記述します。
Selenium と Chrome WebDriver をインストールする
Selenium をインストールするには、次のコマンドを使用します。
#Python 3.x
pip install selenium
ChromeDriver は、Selenium WebDriver が Chrome と対話するために使用するもう 1つの実行可能ファイルです。Chrome Web ブラウザーでタスクを自動化する場合は、ChromeDriver もインストールする必要があります。
Chrome ブラウザのバージョンに応じて、互換性のあるドライバを選択する必要があります。Chrome ドライバーをインストールして構成する手順は次のとおりです。
- このリンクをクリックします。Chrome ブラウザのバージョンとオペレーティングシステムの種類に応じて Chrome ドライバをダウンロードします。
- Chrome ブラウザのバージョンを確認する場合は、Chrome の右上隅にある 3つのドットをクリックし、[ヘルプ]をクリックして、[Google Chrome について]を選択します。Chrome のバージョンは about セクションで確認できます。
- zip ファイルを解凍し、Chrome ドライバーを実行します。
Selenium Python の Web 要素メソッド
Web 要素は、Web サイト上の HTML 要素です。テキストフィールド、ボタン、スクロールバーなどがあります。
これは、クリックの実行、テキストフィールドへの入力など、操作したいものです。Python で Web 要素を取得したら、Selenium によって提供されるその要素に多くのメソッドを適用できます。
たとえば、HTML には次の Web 要素があります。
<input type="text" name="email" id="email_id" />
次のコードスニペットを使用して、名前
を使用して Web 要素を検索します。
element_tf = driver.find_element_by_name("email")
または、id
で検索する場合は、このメソッドを使用します。
element_tf = driver.find_element_by_id("email_id")
要素を取得したら、それに多くのメソッドを適用できます。広く使用されている方法のいくつかとその説明は次のとおりです。
要素法 | 説明 |
---|---|
click() |
任意の要素をクリックします。 |
clear() |
テキストフィールドからすべてのテキストをクリアします。 |
send_keys() |
テキストフィールドにテキストを入力します。 |
text |
現在の要素のテキストを取得します。 |
screenshot() |
現在の要素のスクリーンショットを撮り、PNG ファイルとして保存します。 |
submit() |
詳細の入力が完了したら、フォームのデータを送信します。 |
location |
現在の要素の場所を取得します。 |
size |
要素のサイズを返します。 |
tag_name |
現在の要素のタグの名前を返します。 |
is_selected() |
要素が選択されているかどうかを示すブール値を返します。 |
is_displayed() |
要素が画面上でユーザーに表示されるかどうかを示すブール値を返します |
get_property() |
アンカーテキストの text_length プロパティのような要素のプロパティを返します。 |
get_attribute() |
アンカータグの href 属性など、要素の属性を返します。 |
Web 要素メソッドを示すコード
次のコードでは、上記のメソッドのいくつかを使用しました。find_view_by_name()
メソッドを使用して、email
と password
のテキストフィールドとログインボタンを名前で取得します。
send_keys()
メソッドを使用してダミーの電子メールとパスワードを入力し、clear()
メソッドを使用して password
フィールドをクリアしました。text
、location
、および tag_name
メソッドを使用して、ログインボタンのテキスト、場所、およびタグ名を抽出しました。
ログインボタンが選択され、is_selected()
および is_displayed()
メソッドを使用して表示されているかどうかを確認しました。最後に、click()
メソッドを使用してログインボタンをクリックしました。
# Python 3.x
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.maximize_window()
driver.get("https://discpersonalitytesting.com/login-here/")
email = "myemail@email.com"
password = "mypassword1@23"
email_textfield = driver.find_element_by_name("email")
password_textfield = driver.find_element_by_name("password")
login_button = driver.find_element_by_name("LoginDAPLoginForm")
email_textfield.send_keys(email)
time.sleep(2)
password_textfield.send_keys(password)
time.sleep(3)
password_textfield.clear()
password_textfield.send_keys(password)
time.sleep(2)
print(login_button.text)
print(login_button.location)
print(login_button.is_selected())
print(login_button.is_displayed())
print(login_button.tag_name)
login_button.click()
出力:
Login
{'x': 251, 'y': 499}
False
True
button
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn