selenium 4.25.0 要素指定 ドライバー操作

Python

find_element 要素指定方法 ドライバー操作 キー操作のまとめ

環境

windows 11

selenium 4.25.0

・find_element関連

IDタグ指定

これがあれば一番簡単 一つのページに一つしかないはず

driver.find_element(By.ID, "pswd001_check")

NAMEタグ指定

これも一つしかない場合が多いと思う

driver.find_element(By.NAME,"user_id")

CSSセレクター(タグ+クラス名)の属性値取得

ID、NAMEタグがない場合はCSSセレクターを使用

タグ名+クラス名で指定して属性値を取得

driver.find_element(By.CSS_SELECTOR,"p.lg-pr-x-5").get_attribute('属性名')

CSSセレクター(タグ+クラス名)のテキスト取得

テキスト取得パターン

driver.find_element(By.CSS_SELECTOR,"p.css-yp0dqw").text

CSSセレクター(タグ+属性値に文字列を含むもの)

driver.find_element(By.CSS_SELECTOR,"input[aria-label='検索キーワードを入力']")

XPATH

XPATH(タグ+文字列を含むもの+子要素の一つ目)

driver.find_element(By.XPATH,"//th[contains(text(), '所在地')]/following-sibling::td[1]")

ドライバー操作

保存先のパス指定、スクリーンショット保存

screenshot_path = 'パスを指定'
driver.save_screenshot(screenshot_path)

画面スクロール

driver.execute_script("window.scrollTo(【横方向のピクセル数】,【縦方向のピクセル数】);")

アラートの操作

from selenium.webdriver.common.alert import Alert

Alert(driver).accept() #ok
Alert(driver).dismiss() #cancel

ウインドウタブ切り替え

driver.switch_to.window(driver.window_handles[1])

クリック操作

driver.find_element(By.NAME,"ACT_login").click()

文字列入力

driver.find_element(By.NAME,"user_password").send_keys(PASS)

各キー操作

driver.find_element(By.NAME,"ACT_login").send_keys(Keys.ENTER)
driver.find_element(By.NAME,"ACT_login").send_keys(Keys.TAB)

コメント