Python selenium陈旧元素错误

时间:2015-07-08 08:20:38

标签: python selenium webdriver

将python与selenium一起使用,以下代码会产生陈旧的元素错误,任何人都可以看到原因吗?

def test_set_language(self):
    driver = self.driver
    driver.get("http://somewebpage.com")
    elemL = driver.find_element_by_name("selectLang")
    elemL.send_keys(Keys.DOWN)
    driver.implicitly_wait(10)
    self.assertIn("Mot", driver.page_source)

1 个答案:

答案 0 :(得分:0)

如果重新加载和重新加载该元素页面之间的交互或StaleElementReferenceException模型已更改,则会引发

DOM

元素查找是selenium为该元素分配内部id的第一次 - 有关详细信息,请参阅selenium执行日志。

如果您无法提供更好的解决方案,您可能需要使用StaleElementReferenceException的通用解决方案 - 使用try/catch块进行环绕,在catch块中等待几秒钟然后重试操作。这不是一个优雅的解决方案,但这是人们有时必须做的事情以及什么工作正常。