Selenium:是什么导致 FindElement 什么也没带回来?

Selenium: What causes an FindElement to bring back nothing?

我很好奇什么会导致 FindElement 方法返回任何内容(非空),即使该元素在页面上和 HTML 中。每隔一段时间,当我的代码中有一个 Assert.AreEqual 方法时,它就会出现这个问题。

我的断言通常如下所示:

Assert.AreEqual(stringValue, FindElement(By.XPath("<XPath path>")).Text);

错误消息返回说 FindElement 返回为“<>”,就像没有值一样。有没有可能是我的脚本运行得太快而跳过了它,或者是否存在其他一些下划线问题。

当您网页上的这段文字实际上并未存储为 innerHTML 时,可能会发生这种情况,它可能位于您元素的 value 属性 中,并且在使用 Text 方法时您只会获得 innerHTML,因此它看起来它是空的。 尝试使用 GetAttribute,检查您的元素以了解它如何存储此文本。

希望我正确理解了您的问题。 :D