【问题标题】:Webdriver can't find element by xpath or IDWebdriver 无法通过 xpath 或 ID 找到元素
【发布时间】:2020-12-17 17:28:13
【问题描述】:

我编写了一个代码来自动化运动鞋抽奖的铭文,但我遇到的主要问题是 webdriver 无法找到元素,我觉得这很奇怪。我会把网站链接和我的相关代码示例放在一起。也许这是由于反机器人,但这似乎不太可能,因为该网站似乎缺乏安全性。 这是网站:

https://r1.dotmailer-surveys.com/2a5ece38e398a86d1d2ieba093b44fa8fd3a-610c7264a82913e254v5f2457bdb04a5a308

我在这里尝试通过短 xpath、长 xpath 和 ID 查找元素,但它们都不起作用。

driver = webdriver.Chrome(executable_path='../drivers/chromedriver', chrome_options=options)

driver.get('https://r1.dotmailer-surveys.com/2a5ece38e398a86d1d2ieba093b44fa8fd3a-610c7264a82913e254v5f2457bdb04a5a308')

            time.sleep(delay)

            search = driver.find_element_by_id('textbox-3').send_keys(Prenom)

            time.sleep(delay)

            search = driver.find_element_by_xpath('//*[@id="textbox-4"]').send_keys(Nom)

            time.sleep(delay)

            search = driver.find_element_by_xpath('/html/body/form/div[2]/div/div/div/div[2]/div/div[1]/div/div[10]/input').send_keys(Mail)

            time.sleep(delay) 

即使我放了很大的延迟或 webdriverwait,它也总是返回一条错误消息。我非常困惑,如果有人可以帮助我,我将非常感激。 这是我收到的错误消息:

selenium.common.exceptions.NoSuchElementException: 消息:没有这样的元素:无法找到元素:{"method":"css selector","selector":"[id="textbox-3"]" }

如果您想验证这确实是好的 ID 和 Xpath,您可以查看该网站。

我真的不知道发生了什么。我不知道它是否相关,但我使用 python。

感谢您的帮助!

【问题讨论】:

标签: python selenium selenium-webdriver xpath


【解决方案1】:

是的,它在 iFrame 中。您需要将焦点切换到 iFrame 才能找到文本元素并与之交互。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-04
    • 1970-01-01
    • 2011-08-14
    • 2014-11-12
    • 1970-01-01
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多