如何使用 Selenium 和 xpath 在 Google 登录页面中选择电子邮件或电话字段?
·
问题:如何使用 Selenium 和 xpath 在 Google 登录页面中选择电子邮件或电话字段?
我在这个页面:Google Drive Login
想要选择此输入字段:

当我使用输入字段的 xpath 时:
//*[@id="identifierId"]
或者
/html/body/div[1]/div[1]/div[2]/div/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div/div[1]/div/div[1]/input
我还有一个。
通常,当元素嵌套在 iframe 中时会发生这种情况,但在这种情况下不会。或者至少我找不到有问题的 iframe。请帮我理解为什么。
解答
访问 Google Drive 登录页面时的 Email 或 Phone 字段与 SMile 登录期间的 Email 或 Phone 字段没有什么不同。
要将_字符序列_发送到元素,您可以使用以下任一定位器策略:
- 使用
id:
driver.find_element_by_id("identifierId").send_keys("AturSams")
- 使用
css_selector:
driver.find_element_by_css_selector("input#identifierId").send_keys("AturSams")
- 使用
xpath:
driver.find_element_by_xpath("//input[@idu003d'identifierId']").send_keys("AturSams")
理想情况下,要将 character sequence 发送到您需要为element_to_be_clickable()诱导WebDriverWait的元素,您可以使用以下任一定位器策略:
- 使用
ID:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.ID, "identifierId"))).send_keys("AturSams")
- 使用
CSS_SELECTOR:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#identifierId"))).send_keys("AturSams")
- 使用
XPATH:
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@idu003d'identifierId']"))).send_keys("AturSams")
- 注意:您必须添加以下导入:
从 selenium.webdriver.support.ui 导入 WebDriverWait
从 selenium.webdriver.common.by 导入
从 selenium.webdriver.support 导入 expected_conditions 作为 EC
参考文献
您可以在以下位置找到一些相关的详细讨论:
-
在java中使用selenium webdriver登录Gmail
-
在 Python 中使用 Selenium 登录 gmail
-
Selenium 测试脚本通过新的 ajax 登录表单登录到 google 帐户
更多推荐

所有评论(0)