2
7

More than 3 years have passed since last update.

僕のWebdriver(Python)

Last updated at Posted at 2019-12-13

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

!見方

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

モジュール読み込み

#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() #値が入ってないのに消そうとするとエラーが起きる


2
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
7