带有Selenium的Python“元素未附加到页面文档中”

我有一个python函数,应该单击产品的所有选项:

submit_button = driver.find_element_by_id('quantityactionbox')

elementList = submit_button.find_elements_by_tag_name("option")

for x in elementList:

x.click()

单击2个元素后,出现此错误:

selenium.common.exceptions.StaleElementReferenceException: Message: stale element reference: element is not attached to the page document

您能否告诉我为什么出现这种错误,以及如何成功完成所有要素?

回答:

您已经有了解释,并且“元素未附加到DOM”上的解决方案:

用于在Web应用程序中模拟选项卡式UI的一种常用技术是为每个选项卡准备DIV,但一次仅附加一个,其余的存储在变量中。在这种情况下,您的代码很可能引用了不再附加到DOM的元素(即,其祖先是“

document.documentElement”)。

如果在这种情况下WebDriver抛出陈旧的元素异常,即使该元素仍然存在,该引用也会丢失。您应该丢弃所拥有的当前引用并替换它,可能是通过将元素附加到DOM上再次找到它来进行。

以上是 带有Selenium的Python“元素未附加到页面文档中” 的全部内容, 来源链接: utcz.com/qa/409280.html

回到顶部