如何将 send.keys 的数据输入到 selenium python 中具有相同 xpath 的 2 个字段

how to enter data with send.keys to 2 fields with same xpath in selenium python

我正在尝试提交密码字段和确认密码字段。他们都没有 ID 并且具有相同的 xpath,唯一的区别是第一个带有标签 Enter password xpath 的字段有 [1],第二个带有标签 Confirm password xpath 的字段有 [2].

这是第一个:

/html/body/div[1]/div/div[2]/div/div[2]/div/div[1]/label/input

这是第二个:

/html/body/div[1]/div/div[2]/div/div[2]/div/div[2]/label/input

Xpath 助手 chrome 插件也提供相同的。

从第一个开始:

/html/body/div[@class='app']/div[@class='layout']/div[@class='router- 
view']/div[@class='signup-form']/div[@class='onboarding password- 
form']/div/div[@class='password-form__input-pass'][1]/label[@class='cs- 
input']/input[@class='cs-textstyle-input-text cs-input__input cs-input__input-- 
medium']

从第二个开始:

/html/body/div[@class='app']/div[@class='layout']/div[@class='router- 
view']/div[@class='signup-form']/div[@class='onboarding password- 
form']/div/div[@class='password-form__input-pass'][2]/label[@class='cs- 
input']/input[@class='cs-textstyle-input-text cs-input__input cs-input__input-- 
medium']

所以现在我有这个提交第一个字段的代码(输入密码):

password = driver.find_element(By.XPATH, "//input[@class='cs-textstyle-input-text cs- 
input__input cs-input__input--medium']")

password.send_keys("ewra5RT#T6")

第二个字段如何确认密码?

我想应该是这样的:

password_confirm = driver.find_element(By.XPATH, "//input[@class='cs-textstyle-input- 
text cs-input__input cs-input__input--medium'][2]") 

但我想不出正确的语法...?

请帮忙,谢谢。

HTML对于两个字段也是一样的,这里:

第一个:

<input data-v-6484adb0="" type="password" required="required" 
class="cs-textstyle-input-text cs-input__input cs-input__input-- 
medium">

第二个:

<input data-v-6484adb0="" type="password" required="required" 
class="cs-textstyle-input-text cs-input__input cs-input__input-- 
medium">

也许我遗漏了什么,但为什么不使用上面提到的完整 xpath? 或者 xpath 轴和你提到的那些标签元素?

但如果您仍想使用您的方法,则只需更换

[2]

position() = 2

以适当的方式