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. 要素を見つける」を参照すると良い.

目次に戻る