send_keys 以某種方式輸入重復密碼或字串,而不是提到的密碼導致登錄失敗。
嘗試添加顯式 wait()、driver.clear() 但不起作用。
這是 Python 中的示例代碼 -
方法 1 -
driver = webdriver.chrome(executable path)
driver.maximize__window()
driver.get(address)
password = "xyz"
field1 = wait.until(EC.presence_of_element_located(By.XPATH, <xpath of the password field>)
actionChains.move_to_element(field1).click()
actionChains.move_to_element(field1).send_keys(password).perform()
driver.find_element(By.ID, "Login-button").click()
這里可能不是“xyz”,而是“xyzxyzxyzx”字串被添加到密碼欄位(無法解碼,因為密碼被屏蔽)。
請建議。
方法 2 -
此外,在輸入密碼時,使用以下代碼進行的另一次嘗試以某種方式將用戶名與密碼連接起來。
username = driver.find_element(By.ID,"USERNAME").click()
actionChains.send_keys("test")
password = driver.find_element(By.ID,"PASSWORD").click()
actionChains.send_keys("xyz")
actionChains.perform()
這個片段導致 -
用戶名為“test”
密碼為“testxyz”
預期輸出為:
用戶名為“test”
密碼為“xyz”
uj5u.com熱心網友回復:
有時它會自動填充最后一個輸入。我只需將“Keys.BACK_SPACE*20”添加到發送密鑰括號中即可解決它
.send_keys(Keys.BACK_SPACE*20, "xyz")
您還需要匯入 Keys 庫:
從 selenium.webdriver.common.keys 匯入密鑰
uj5u.com熱心網友回復:
我想到的一些假設是密碼欄位中可能已經填充了一些默認值。如果是這種情況,此鏈接可能會有所幫助。我不確定這是否與 driver.clear() 相同。
此外,如果有一個顯示密碼選項可用于除錯問題。其他選項也可以是文本框中的 gettext 也可能會有所幫助。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/488596.html
上一篇:遍歷兩個下拉選單并下載檔案
