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)
コメント