【发布时间】:2012-06-11 15:42:43
【问题描述】:
在最新版本的 Selenium DotNet Webdriver (2.22.0) 中是否有办法在单击/交互之前检查元素是否可见?
我发现的唯一方法是尝试处理在您尝试发送密钥或单击它时发生的 ElementNotVisible 异常。不幸的是,这只发生在尝试与元素交互之后。我正在使用递归函数来查找具有特定值的元素,其中一些元素仅在某些场景中可见(但它们的html无论如何仍然存在,因此可以找到它们)。
据我了解,RenderedWebElement 类以及其他变体已被弃用。所以没有强制转换。
谢谢。
【问题讨论】:
-
应该有一个 WebElement.isDisplayed() 来检查元素是否可见
-
不幸的是捕获异常是要走的路。 Displayed 和 Enabled 并不总是呈现可操作元素,这意味着该项目可以同时显示和启用,但仍然不能点击。当元素不在视图中时会发生这种情况(在某些浏览器中),您通常需要做的是滚动到元素以使其可见。
标签: selenium webdriver visibility visible