带有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