有什么方法可以使用 Selenium WebDriver 清除浏览器缓存吗?如果我可以为更大的测试用例清除缓存,那将会有所帮助,有时我会遇到以下异常:
“在缓存中找不到元素 - 页面可能在查找后发生了变化”。
我正在使用 Java。任何建议将不胜感激,谢谢!
最佳答案
问题与浏览器缓存无关。这意味着您对浏览器 DOM 中的对象有过时的引用。通常可能有以下原因:
您在一页上找到一个元素。然后在浏览器中导航到另一个页面。然后在 Java 代码中,您尝试使用第一页中的元素。它不再有效,您将收到 StaleElementReferenceException 消息“在缓存中找不到元素......”
您在一页上找到一个元素。然后使用 JavaScript 修改页面,您的元素从 DOM 中删除。即使创建了一个具有相同 ID 和样式的新元素,它也是一个新实例,并且您的 JavaCode 中的引用是陈旧的。您需要再次查找该元素,您将获得正确的引用。
关于java - Selenium WebDriver 中的 "Element not found in the cache",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19310888/