[英]Python Selenium can't fill input field
我想用 selenium 登錄網站 ( https://gmail.hu ),有一個 ID 為_pass
的用戶名輸入字段和 ID _user
的密碼輸入字段
密碼字段有點棘手,因為打開檢查器可以看到兩個密碼字段,一個是隱藏的,另一個不是。
<input class="billboard_input" type="password" value="" name="_pass" id="_pass" maxlength="16" style="display: block;">
<input class="billboard_input" type="text" value="Jelszó" name="_pass_dummy" id="_pass_dummy" style="display: none;">
我試圖通過 ID 獲取元素,但無法正常工作:
user = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "_user")))
pw = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.ID, "_pass")))
通過 XPATH 我可以填寫用戶名輸入但我不知道如何填寫密碼輸入,我嘗試將send_keys
發送到兩個密碼輸入但沒有任何反應:
url = 'https://gmail.hu'
driver.get(url)
user = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[1]/div[1]/form/input[6]")))
pw = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[1]/div[1]/form/div[1]/input[1]")))
pw2 = WebDriverWait(driver, 20).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[1]/div[1]/form/div[1]/input[2]")))
user.send_keys("test")
time.sleep(5)
pw.send_keys("testpw")
time.sleep(5)
pw2.send_keys("testpw")
這是一種方法:
## your imports[...]
import time as t
## browser definition
wait = WebDriverWait(driver, 20)
url = "https://gmail.hu/"
driver.get(url)
cookie_button = wait.until(EC.element_to_be_clickable((By.XPATH, '//span[text()="ELFOGADOM"]')))
cookie_button.click()
print('accepted cookies')
id_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'input[id="_user"]')))
id_field.send_keys('viktor_orban')
dummy_password_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'input[id="_pass_dummy"]')))
dummy_password_field.click()
t.sleep(1)
real_pass_field = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, 'input[id="_pass"]')))
real_pass_field.send_keys('oh well...')
print('sent user & pass')
終端打印結果:
accepted cookies
sent user & pass
Selenium 文檔可在https://www.selenium.dev/documentation/找到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.