seleniumでスクレイピング:使い方記録

先日使い方を忘れて自分のnoteを見直したら「今日のアウトプット〇/〇」としか書いていなかったので、いつ何のアウトプットをしたのか分かりませんでした。

その反省も踏まえて、Seleniumの使い方をここに都度追記していくことにしました。

参考サイト

①必要な物
ChromeDriver
https://chromedriver.chromium.org/downloads
Seleniumモジュール

conda install Selenium
#もしくは
pip install Selenium

②使い方-1

#まずはimport
from Selenium import webdriver

#webdriver.Chrome()を変数で使えるようにする。
browser = webdriver.Chrome()

#対象とするページURLgetメゾットの引数にする。
browser.get("URL")

③メゾット:要素を取得する。

#idで指定。
.find_element_by_id("id")

#タグで指定。
.find_element_by_tag_name("タグ名")

#classで指定。
.find_element_by_class_name("class名")

#class_nameで指定するときは目的の場所から2階層上ぐらいを先に取得しておくと、
#同じ名前のclassがあっても絞り込める。
elem = browser.find_element_by_class_name("class名")
elem = elem.find_element_by_class_name("class名")

#ページ内の同名classなどを複数取得する場合。
elems = browser.find_elements_by_class_name("class名")
#elemsにはリストで格納される。

#xpathで指定。
.find_element_by_xpath("Xpath")

③-2:取得した要素に対するアクション。

#テキストを取得。
.text
#.textでは空になってしまう場合、.get('textContent')で取得できる、
#改行が入る場合はさらに.replace('\n', '')

#URLを取得。
.get_attribute("href")
.get_attribute("src")

#クリック。
.click()

③-3:ドロップダウンリストを操作する。

# モジュールをインポートする必要あり
from selenium.webdriver.support.select import Select

# 値で選択する
Select(要素).select_by_visible_text("テキスト")

④その他メゾット

#ブラウザを起動する、もしくは遷移する。
.get()

#Seleniumで開いたChromeを閉じる。
.quit()

#ブラウザの「進む」。
.forward()

#ブラウザの「戻る」。
.back()

#ブラウザを最大化する。
.maximize_window()

#ブラウザを閉じる。
.quit()

#ページのURLを取得する。
.current_url

#ページのタイトルを取得する。
.title

#ページのソースを取得する。
.page_souece

#スクリーンショットを保存する
.get_screenshot_as_file("保存先のパス")

つづき

この記事が気に入ったらサポートをしてみませんか?