Appium-Python“使用给定的搜索参数无法在页面上定位元素”和“元素不再存在于DOM中”的区别

问题描述

如上。遇到这两个问题。

无法使用给定的搜索参数在页面上定位元素。

该元素不再存在于 DOM 中

解决方法

第一个错误

无法使用给定的搜索参数在页面上定位元素

表示 Selenium 无法在页面上找到与给定定位器匹配的元素。
而第二个错误

该元素不再存在于 DOM 中

表示元素曾经在页面上,但不再存在于那里。
这实际上是 Selenium Stale Element 错误。
陈旧意味着陈旧,腐烂,不再新鲜。陈旧元素意味着旧元素或不再可用的元素。假设在 WebDriver 中作为 WebElement 引用的网页上有一个元素。如果 DOM 发生更改,则 WebElement 将失效。如果我们尝试与过时的元素进行交互,则会抛出 StaleElementReferenceException。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...