Masayan tech blog.

  1. ブログ記事一覧>
  2. 【Python】スクレイピング: SeleniumとBeautiful Soupの主なメソッド一覧

【Python】スクレイピング: SeleniumとBeautiful Soupの主なメソッド一覧

公開日

環境

  • Windows 10
  • Python 3.10.1
  • Selenium 4.1.0
  • Beautiful Soup 4.10.0
  • VSCode

Selenium

取得系メソッド

  • Selenium4から、find_element_by_idなどのメソッドは非推奨になった。使用すると以下の警告が出力される
    UserWarning: find_element_by_* commands are deprecated. Please use find_element() instead
  • そのため、find_element(By.ID)を使用し、()の中に検索する条件を指定する必要がある
    (by_*の部分はのキーワード変数byで指定する)
  • どの条件で検索しても返り値は、selenium.webdriver.remote
    .webelement.WebElementWebElementのリスト

内容

メソッド

返り値

タグ名で1つの要素を取得

find_element(By.TAG_NAME, "タグ名")

selenium.webdriver.remote
.webelement.WebElement

タグ名で全要素を取得

find_elements(By.TAG_NAME, "タグ名")

WebElementのリスト

クラス名で1つの要素を取得

find_element(By.CLASS_NAME, "クラス名")

selenium.webdriver.remote
.webelement.WebElement

クラス名で全要素を取得

find_elements(By.CLASS_NAME, "クラス名")

WebElementのリスト

ID名で1つの要素を取得

find_element(By.ID, "ID名")

selenium.webdriver.remote
.webelement.WebElement

ID名で要素を取得

find_elements(By.ID, "ID名")

WebElementのリスト

name属性で1つの要素を取得

find_element(By.NAME, "name属性")

selenium.webdriver.remote
.webelement.WebElement

name属性で全要素を取得

find_elements(By.NAME, "name属性")

WebElementのリスト

xpathで1つの要素を取得

find_element(By.XPATH, "xpath")

selenium.webdriver.remote
.webelement.WebElement

xpathで全要素を取得

find_elements(By.XPATH, "xpath")

WebElementのリスト

cssセレクタで1つの要素を取得

find_element(
By.CSS_SELECTOR, "セレクタ名"
)

selenium.webdriver.remote
.webelement.WebElement

cssセレクタで全要素を取得

find_elements(
By.CSS_SELECTOR, "セレクタ名"
)

WebElementのリスト

入力系メソッド

  • 取得したselenium.webdriver.remote.webelement.WebElementがinputタグであれば、値を入力できたり、buttonタグであれば、クリックしたりすることが可能

内容

メソッド

返り値

値の入力

WebElement.send_keys('入力したい文字')

None

特殊キーの入力(右の例はEnter)

WebElement.send_keys(Keys.ENTER)

None

ボタンタグなどのクリック

WebElement.click()

None

フォームの送信

WebElement.submit()

None

Beautiful Soup

概要

  • 基本的にfind,find_all,selectがあるが、基本的にはselectでいける(はず)

メソッド一覧

内容

メソッド

返り値

タグを指定して、最初の要素を取得

find("タグ名")

bs4.element.tag

要素が見つからなかった場合、Noneが返る

タグを指定して、全ての要素を取得

find_all("タグ名")

bs4.element.ResultSet
※Python組み込みのリストを継承したオブジェクト。クラス要素が見つからなかった場合、空のリストが返る

cssセレクタで指定して、すべての要素を取得

select("cssセレクタ")

bs4.element.ResultSet
※Python組み込みのリストを継承したオブジェクト。クラス要素が見つからなかった場合、空のbs4.element.ResultSetを返す

まとめ

いかがでしたでしょうか。本記事では、Pythonでスクレイピングをする際によく使用するSeleniumとBeautiful Soupの主なメソッド一覧について紹介しています。ぜひ参考にしてみてください