簡體   English   中英

Python Selenium 無法填寫輸入字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM