python - 如何使用 Selenium 和 xpath 在 Google 登录页面中选择电子邮件或电话字段?

标签 python selenium xpath css-selectors google-home

我在这个页面:Google Drive Login
想要选择此输入字段:
The input field in question

当我使用输入字段的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 云端硬盘登录页面时的电子邮件或电话字段与GMail<期间的电子邮件或电话字段没有什么不同 登录。

要将字符序列发送到元素,您可以使用以下任一 Locator Strategies :

  • 使用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[@id='identifierId']").send_keys("AturSams")
    

理想情况下,要将字符序列发送到需要为element_to_be_clickable()引入WebDriverWait的元素,并且可以使用以下任一Locator Strategies:

  • 使用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[@id='identifierId']"))).send_keys("AturSams")
    
  • 注意:您必须添加以下导入:

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

引用文献

您可以在以下位置找到一些相关的详细讨论:

关于python - 如何使用 Selenium 和 xpath 在 Google 登录页面中选择电子邮件或电话字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65087007/

相关文章:

python - 如何在 webdriver 中获取元素的当前内容

Python Pandas 将字符串转换为 int/float

java - Selenium 网络驱动程序 : Screenshots in Opera

selenium - 如何使用xpath获取n个元素?

python-2.7 - 创建局部变量来表示 xpath tr[ ] 内的数字范围?

python - 如何在 Python 中通过 Plotly 从 Dash 的下拉列表中选择数据集列?

python - 使用 lambda 函数检查 URL 中是否存在列中的值

java - 如何使用Jsoup获取html数据的特定子元素

javascript - 如何使用 C# 在 selenium 中使用 JavaScriptExecutor 将样式属性设置为 div

xml - XPath 检查每个节点是否具有预期值