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

标签 java selenium webdriver

使用 Selenium 2.0a2 中的 WebDriver 我无法检查元素是否可见。

WebDriver.findElement 返回一个 WebElement,遗憾的是它不提供 isVisible 方法。我可以通过使用 WebElement.clearWebElement.click 来解决这个问题,这两者都会抛出 ElementNotVisibleException,但这感觉很脏。

有更好的想法吗?

最佳答案

即使我回答这个问题有点晚了:

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

注意:

元素不可见的原因有很多。 Selenium 尝试覆盖其中的大部分,但在某些极端情况下它无法按预期工作。

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

关于java - 如何使用 WebDriver 检查元素是否可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2646195/

相关文章:

java - java 8 中用于屏蔽 SSN 的正则表达式

python - 使用 Selenium 抓取 Google map 的网页使用了太多数据

python + Selenium webdriver : using authenticate method

selenium - org.openqa.selenium.json.JsonException : Expected to read a START_MAP but instead have: END. 通过 Node 执行测试时读取的最后 0 个字符

java - Selenium 无法识别 IE 中新打开的浏览器上的元素

java - 正则表达式中的警告 - JavaCC

python - selenium + nose 并行测试

selenium - 有没有办法在 Capybara 中通过文本查找任何元素?

python - 文件未找到错误: [Errno 2] No such file or directory: 'geckodriver' : 'geckodriver' with GeckoDriver and Python in MAC OS

java.lang.String类的值变量