chrome プロファイル指定して起動–ログインセッション保持
たいていは一度きりなのでクッキーに保存すれば次回からログインしなくていい
driver.get(url)
mail = driver.find_element(By.ID, "login_handle") # 次に進むボタン
mail.clear()
mail.send_keys("じぶんのあかうんと") #入力
element = driver.find_element(By.CSS_SELECTOR, '.ar-button_medium_1i9SB [type="ar-button_medium_1i9SB"]') #複数ある
element.click()
# passwordという名前の要素が見つかるまで1秒間待機
password = WebDriverWait(driver, 1).until(EC.presence_of_element_located((By.NAME, "password")))
password.clear()
chkbox = driver.find_element_by_name('rememberMe')
# チェックボックスが非選択の状態を確認
if not chkbox.is_selected():
# 非選択の場合はJavaScriptでクリックする
driver.execute_script("arguments[0].click();", chkbox)
password.send_keys("じぶんのぱすわーどとか") #パスワード入力
element = driver.find_element(By.ID, "signInSubmit") # ログインボタン
element.click() # button click
#''' ワンタイムパスワードが必要な場合
# otpCodeという名前の要素が見つかるまで1秒間待機
otpCode = WebDriverWait(driver, 1).until(EC.presence_of_element_located((By.NAME, "otpCode")))
otpCode.clear()
saveScreen() # 画面キャプチャの関数呼び出し
#ワンタイムパスワード入力
time.sleep(25) # 25s待ってるあいだにワンタイムパスワードを自分で'onetime.txt'にコピペ
# ファイルを読み込んで一行取得
with open('./env/onetime.txt') as f:
for line in f:
otpCode.send_keys(line) #ワンタイムパスワード入力
chkbox = driver.find_element_by_name('rememberDevice')
# チェックボックスが非選択の状態を確認
if not chkbox.is_selected():
# 非選択の場合はJavaScriptでクリックする
driver.execute_script("arguments[0].click();", chkbox)
element = driver.find_element(By.ID, "auth-signin-button") # ログインボタン
element.click()