Python入門トップページ


目次

  1. テストの自動化と Selenium
  2. Selenium のインストール
  3. ChromeDrive - WebDriver for Chrome のダウンロードと設置
  4. Web ページを開いてみよう
  5. リンクをクリックしてみる
  6. 要素の情報を取り出す
  7. すべての要素を取り出してみよう
  8. リンクを開いて戻ってみる
  9. リンクを巡回しながら情報を取得する(1)
  10. リンクを巡回しながら情報を取得する(2)
  11. リンクを巡回しながら情報を取得する(3)
  12. 要素の見つけ方

Selenium を使って Web からデータを自動収集しよう

要素の見つけ方

Selenium のバージョン 4 ではページ内の要素を一つ見つけるメソッドとして find_element() があり,ページ内の複数の要素を見つけるためのメソッドとして find_elements() があります.これらを利用するためには,プログラムの冒頭で from selenium.webdriver.common.by import By によって By をインポートしたうえで,クラス名で取得するには次のように記述します.


from selenium.webdriver.common.by import By
driver.find_element(By.CLASS_NAME, 'pht')

クラス名だけでなく ID やタグ名など,次の属性でも取得することが可能です.

  • ID
  • XPATH
  • LINK_TEXT
  • PARTIAL_LINK_TEXT
  • NAME
  • TAG_NAME
  • CLASS_NAME
  • CSS_SELECTOR

Selenium のバージョン 3 ではページ内の要素を一つ見つけるメソッドには次のようなものがあります.Selenium のバージョン 4 でも引き続き利用できるが,DeprecationWarning(つまり,この機能が非推奨であるという警告)が表示されます.

  • 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

上記のメソッドの詳細については「Selenium python Bindings : 4. 要素を見つける」を参照すると良いでしょう.

目次に戻る