我遇到了这种奇怪的情况。
我首先在第 1 页,其中有一个 id 为“abc”的元素,我使用“abc”查找 webElement 并获取其文本值
我单击第 1 页中的链接,它会将我带到第 2 页
在第 2 页中,还有一个 id 为“abc”的元素,当我尝试使用“abc”查找元素并获取其文本值时,webdriver 给了我一个“陈旧元素异常,元素未附加到 DOM 等”
我用谷歌搜索到这个页面,http://docs.seleniumhq.org/exceptions/stale_element_reference.jsp。它解释说“该元素所属的页面是否已刷新,或者用户已导航到另一个页面......驱动程序无法确定替换实际上是预期的”
那么如何解决这类问题呢?理论上,webdriver 没有办法知道这些元素在两个不同的页面中。
值得注意的是,如果我在页面切换之间插入硬编码延迟(线程睡眠等),则不会出现过时的问题。
谢谢,