僕のWebdriver(Python)


自分用のまとめ
随時更新
自分がわかればいいからところどころ用語が間違ってるかも

!見方

#コマンド
    #引数のオプションの説明

モジュール読み込み

#Webdriver
from selenium import webdriver

#webdriverの待機モジュール
from selenium.webdriver.support.ui import WebDriverWait

#要素の読まれ具合とかをみるモジュール
from selenium.webdriver.support import expected_conditions as ec
from selenium.webdriver.common.by import By

#Webdriverのオプション設定モジュール(Chrome)
from selenium.webdriver.chrome.options import Options

#要素に値を送るときに使う
from selenium.webdriver.common.keys import Keys

WebDriver頻出操作

起動~接続
#Webdriver起動
driver = webdriver.Chrome()
    executable_path=  #Webdriverの格納パス
    chrome_options= #起動オプション

#全ての要素が読み込まれるまで待機
WebDriverWait(driver,15).until(ec.presence_of_all_elements_located)

# ID指定したページ上の要素が読み込まれるまで待機(15秒でタイムアウト判定)
WebDriverWait(driver, 15).until(EC.presence_of_element_located((By.ID, 'ID名')))

#URL・HTMLファイル接続
driver.get()
    #引数にURLかHTMLのパス

#HTMLを取得
driver.get_source()

オプション設定
#オプションのオブジェクト作成
options = Options()

#オプションの追加
options.add_argument()
    '--headless' #ヘッドレスモード
ウィンドウ操作
#HTMLを取得
driver.get_source()

#ウィンドウサイズを取得
driver.get_window_size()

#ウィンドウサイズを設定
driver.set_window_size()
    #第一引数が幅
    #第二引数が高さ

#ウィンドウの最大化
driver.maximize_window()

#ウィンドウの位置設定
driver.set_window_position(x,y)
    #第一引数がx座標
    #第二引数がy座標
要素の取得と操作
#IDで要素取得、下は複数取得
element = find_element_by_id()
elements = find_elements_by_id()

#nameで要素取得、下は複数取得
element = find_element_by_name()
elements = find_elements_by_name()

#xpathで要素取得、下は複数取得
element = find_element_by_xpath()
elements = find_elements_by_xpath()

#linktextで要素取得、下は複数取得
element = find_element_by_link_text()
elements = find_elements_by_link_text()

#タグ名で要素取得、下は複数取得
element = find_element_by_tag_name()
elements = find_elements_by_tag_name()

#クラス名で要素取得、下は複数取得
element = find_element_by_class_name()
elements = find_elements_by_class_name()

#cssセレクタで要素取得、下は複数取得
element = find_element_by_css_selector()
elements = find_elements_by_css_selector()

#取得した要素をクリック
element.click()

#取得した要素に値を送る
element.send_keys()
    #引数に送る値

#取得した要素にRETURNキー
element.send_keys(Keys.RETURN)

#入力欄を空に
element.clear() #値が入ってないのに消そうとするとエラーが起きる