[Python] 252 スクレイピング イディオム集

知識の整理も兼ねてまとめてみました。

seleniumによるURL取得

from selenium import webdriver

driver = webdriver.Chrome()

driver.get("URL")

selenium ヘッドレスモード

from selenium.webdriver.chrome.options import Options

option = Options()
option.add_argument('--headless')
driver = webdriver.Chrome('/usr/local/bin/chromedriver',options=option)

selenium 要素をクリック

driver.find_element_by_xpath("XPATH").click()

selenium 要素が現れるまで30秒待機

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

WebDriverWait(driver,30).until(EC.presence_of_element_located((By.ID, "ID")))

selenium 要素がクリックできるまで30秒待機

WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.ID, "ID")))

selenium 文字列を入力

driver.find_element_by_xpath("XPATH").send_keys("STRING")

selenium 要素の文字列を取得

textA = driver.find_element_by_xpath("XPATH").text

selenium 他のタブへ移動

handle_array = driver.window_handles
driver.switch_to.window(handle_array[NUMBER])

selenium カーソルでホバリング

from selenium.webdriver.common.action_chains import ActionChains

actions = ActionChains(driver)
actions.move_to_element(driver.find_element_by_xpath("XPATH")).perform()