如何使用 WebDriver 检查元素是否可见

2022-08-31 12:18:59

从硒2.0a2开始,我在检查元素是否可见时遇到问题。WebDriver

WebDriver.findElement返回 一个,遗憾的是,它不提供方法。我可以通过使用或两者都扔一个来解决这个问题,但这感觉很脏。WebElementisVisibleWebElement.clearWebElement.clickElementNotVisibleException

有什么更好的想法吗?


答案 1

尽管我回答这个问题有点晚了:

现在,您可以使用 WebElement.isDisplayed() 来检查某个元素是否可见。

注意

元素可能不可见的原因有很多。硒尝试覆盖了其中的大多数, 但有些边缘情况, 它不能按预期工作.

例如,如果一个元素有 或 ,则返回,但至少在我的测试中,它不能可靠地检测一个元素是否由于CSS定位而被另一个元素覆盖。isDisplayed()falsedisplay: noneopacity: 0


答案 2

element instanceof RenderedWebElement应该工作。


推荐