密码字段是否有任何不同的selenium元素可供选择?

2024-04-26 07:24:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试自动化https://www.makemytrip.com网站的登录过程。我可以通过id选择用户名,并可以传递密钥,但问题在于密码字段

下面是我用作密码的元素

usr = driver.find_element_by_id('password') 
usr.send_keys('****')

还尝试了xpath

driver.find_element_by_xpath('//*[@id="password"]')

但错误消息无法找到元素id密码

下面是html元素

<input autocomplete="off" maxlength="100" type="password" class="font14" id="password" placeholder="minimum 6 characters." data-cy="password" value="">

我试过很多选择器。有什么办法解决这个问题吗


Tags: httpscomid元素密码by网站usr
1条回答
网友
1楼 · 发布于 2024-04-26 07:24:35

我能够使用以下代码成功地将密钥发送到密码字段:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC

# wait for username
username_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located(
    (By.XPATH, "//input[@id='username']")))

username_input.send_keys("christine@gmail.com")

# wait on continue button
continue_button = WebDriverWait(driver, 10).until(EC.presence_of_element_located(
    (By.XPATH, "//button[span[text()='Continue']]")))

# click continue with Javascript   button is flakey sometimes
driver.execute_script("arguments[0].click();", continue_button)

# wait for password
password_input = WebDriverWait(driver, 10).until(EC.presence_of_element_located(
    (By.XPATH, "//input[@id='password']")))

password_input.send_keys("testtest")

我在密码字段中添加了一个wait。我在自己的Python环境中成功地运行了这段代码

相关问题 更多 >