我正在嘗試自動登錄網站https://plus.credit-suisse.com。下面的代碼將我們帶到應該輸入密碼的最后一步。
import time
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument("--disable-extensions")
chrome_options.add_argument("--headless")
driver = webdriver.Chrome(chrome_options=chrome_options)
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://plus.credit-suisse.com")
wait = WebDriverWait(driver,10)
wait.until(EC.element_to_be_clickable((By.XPATH, '//button[text()="Sign-in"]'))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, '//input[@placeholder="Enter Credit Suisse ID (usually your registered email address)"]'))).send_keys("username")
wait.until(EC.element_to_be_clickable((By.XPATH, '//a[@]'))).click()
wait.until(EC.element_to_be_clickable((By.XPATH, '//button[text()="Enter Password to sign-in"]'))).click()
time.sleep(5)
element = wait.until(EC.element_to_be_clickable((By.ID, 'password')))
element.send_keys('password')
wait.until(EC.element_to_be_clickable((By.XPATH, '//button[text()="Login"]'))).click()
現在線
element = wait.until(EC.element_to_be_clickable((By.ID, 'password')))
拋出TimeoutException。這是最后一步。
uj5u.com熱心網友回復:
我發現這個頁面有 3 個 ID 元素password。
最后一個元素是正確的,但element_to_be_clickable可能會給出第一個。
您可能必須使用 XPath 來獲得正確的
element = wait.until(EC.element_to_be_clickable((By.XPATH, '//div[@class="csplusSecondView"]//input[@id="password"]')))
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/378862.html
上一篇:npminstall問題:27個漏洞(16個中等,9個高,2個嚴重)要解決所有問題,請運行:npmauditfix--force
