我在这个页面: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 云端硬盘登录页面时的电子邮件或电话字段与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/