java - Selenide ElementsCollection 抛出 StaleElementException

标签 java selenium gwt selenide

我最近开始使用 Selenide,我喜欢它所允许的流畅代码。 然而,我对 ElementsCollection 确实有一个奇怪的问题。

$$("some ref").filterBy(not(attribute("an-attr-that-should-not-be"))).getTexts()

此查询间歇性地返回字符串化的 StaleElementReferenceExceptions,我不明白为什么。

如果我在调试器中运行查询,它会返回有效值,而在正常运行时(单线程应用程序)期间,这就是我得到的。

目标元素是 GWT 组合框结果列表。

有人可以给我指出正确的方向吗?

更新:如果相关的话,我正在使用 InternetExplorerDriver。

最佳答案

Chrome 和 ChromeDriver 专门触发 StaleElementReferenceException,就像您的测试点一样 - 任何时候元素不再可见,您对它的 WebElement 引用就会变得无效,并且你必须再查一下。如果组合显示/隐藏或更改这些组合可能会导致这种情况(需要有关哪个组合以及似乎导致它更具体的原因的更多详细信息) - 当您希望使用它时尝试查找该元素,而不是一次又一次地重复使用引用。

关于java - Selenide ElementsCollection 抛出 StaleElementException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33372030/

相关文章:

java - 如何解决 java.lang.NoSuchMethodError : org. neo4j.helpers.collection.Iterables.toList(Ljava/lang/Iterable;)Ljava/util/List?

java - 提交时不断收到此错误消息,编译正常,但标记软件说它不正确

python - 如何阻止 VS Code 自动终止 Python 中的 selenium 浏览器实例?

ajax - 在 GWT 中右键单击?

java - Java 中的 for 循环?

java - Web.xml 中的 FacesServlet 和 URL 映射

c# - Selenium webdriver (c#) - 根据属性查找按钮

android - 在移动设备上进行 Selenium 测试是否值得?

css - GWT DialogBox 在较大消息的边框中有间隙

javascript - 合并 GWT 生成的文件