【Selenium】エレメントの獲得方法とアクションの一覧

Python

こんにちは、しらすです。

Selemiumで各要素を獲得する方法とアクションの一覧を作成しました。

要素の獲得方法の一覧

単一エレメントを取得する

find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector

複数エレメントを取得する

find_elements_by_name
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector

使い方

下記をサンプルとして見てみましょう。

<html>
 <body>
  <form id="loginForm">
   <input name="username" type="text" />
   <input name="password" type="password" />
   <input name="continue" type="submit" value="Login" />
   <input name="continue" type="button" value="Clear" />
  </form>
  <h1>Welcome</h1>
  <p class="content">Site content goes here.</p>
  <p>Are you sure you want to do this?</p>
  <a href="continue.html">Continue</a>
  <a href="cancel.html">Cancel</a>
</body>
<html>

idで検索

login_form = driver.find_element_by_id('loginForm')

nameで検索

username = driver.find_element_by_name('username')
password = driver.find_element_by_name('password')

xpathで検索

login_form = driver.find_element_by_xpath("/html/body/form[1]")
login_form = driver.find_element_by_xpath("//form[1]")
login_form = driver.find_element_by_xpath("//form[@id='loginForm']")

linkテキストで検索

continue_link = driver.find_element_by_link_text('Continue')
continue_link = driver.find_element_by_partial_link_text('Conti')

tagで検索

heading1 = driver.find_element_by_tag_name('h1')

classで検索

content = driver.find_element_by_class_name('content')

cssで検索

content = driver.find_element_by_css_selector('p.content')

アクションの一覧

element.click()
element.send_keys("xxx")

参考

Selemiunクイックリファレンス

Seleniumクイックリファレンス
本サイトはSelenium入門者を対象とした、Seleniumの環境構築・APIの早見表サイトです。テスト自動化ツールであるSeleniumを使ったテスト方法についてご紹介いたします。
4. Locating Elements — Selenium Python Bindings 2 documentation

python +seleniumの操作一覧

Python + Selenium で Chrome の自動操作を一通り - Qiita
はじめに Python + Selenium + Chrome で、要素の取得、クリックなどの UI系の操作、待機、ページ全体のスクリーンショットなど、一通り試してみます。 PhantomJS はもう更新されないということなの...

ページ操作

Seleniumで画面遷移した後の画面で要素が取得できない問題の解消 - Qiita
最近PythonでSeleniumを使い始めたんですが、 ちょっとハマったことがあったのでメモ程度に残しておきます。 元のコード login.py from selenium import webdriver driver ...

コメント