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

環境

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

使用するソースコード

以下の公開リポジトリに置いています

GitHub - masayan1126/tao-py-py: 作業自動化用 Python ライブラリ
作業自動化用 Python ライブラリ. Contribute to masayan1126/tao-py-py development by creating an account on GitHub.

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学習におすすめの書籍

独習Python/山田祥寛【3000円以上送料無料】
bookfan 1号店 楽天市場店
¥ 3,300(2022/08/04 17:32時点)
タイトルとURLをコピーしました