Python Selenium向电子邮件输入字段发送密钥



我正在尝试在https://www.footish.se/sneakers/fila-wmns-disruptor-run-1010866-60m

我已经进入了结账页面,但无法在"电子邮件"输入字段中输入我的电子邮件。

代码看起来像这个

email = driver.find_element_by_xpath("/html/body/div/span/div/div/div/div[1]/div/div/div[1]/div/form/div[2]/div[1]/div/label/div/div/input")
email.send_keys("test@email.com")

已经实现了某种功能来等待所需的元素,直到它们被加载。一个例子->

while not find:
try:
find = driver.find_element_by_xpath("/html/body/form/div[5]/div/div[4]/div[1]/div[1]/div[2]/div[1]/div[10]/div[1]/h2")
print("Loaded info")
except:
continue

我得到的错误是这样的。selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div/span/div/div/div/div[1]/div/div/div[1]/div/form/div[2]/div[1]/div/label/div/div/input"}

我该如何解决这个问题?提前感谢。。。。

看起来email字段是一个动态生成的元素,因此当最初进行检查时,它还不存在。您可以尝试使用until方法等待特定的时间,看看它是否确实应用于DOM

样本代码

driver = webdriver.Chrome()
driver.get("url")
try:
element = WebDriverWait(driver, 10).until(
EC.visibility_of_element_located((By.ID, "myDynamicElement")) # set your id here
)
finally:
driver.quit()

如果不起作用,请进行更新。这很可能与框架或错误路径问题有关。

最新更新