鉴于Selenium似乎没有直接提供我想要的东西(基于Mike Kwan和Slanec所说的话),因此我现在使用了这种简单的辅助方法:
protected boolean isElementHiddenNow(String id) { turnOffImplicitWaits(); boolean result = ExpectedConditions.invisibilityOfElementLocated(By.id(id)).apply(driver); turnonImplicitWaits(); return result;}private void turnOffImplicitWaits() { driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS);}private void turnonImplicitWaits() { driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);}如果元素是隐藏的或根本不存在,则该方法返回true;否则,该方法返回true。如果可见,则返回false。无论哪种方式,检查都会立即完成。
使用上述内容至少比通过调用
turnOffImplicitWaits()和散乱测试用例本身更清洁
turnonImplicitWaits()。



