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()
#対象とするページURLをgetメゾットの引数にする。
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("保存先のパス")
つづき
この記事が気に入ったらサポートをしてみませんか?