element instanceof RenderedWebElement
должен работать. // Но это для старой версии селена rc.
Обратите внимание:
RenderedWebElement
был deprecated четыре года назад (в 2013 году) .Это было поддержана до selenium-2.0-rc-2 и удаляются из селена 2.0-RC-3 года
Так что нет такого класса RenderedWebElement
в последней версии. Текущая версия - 2.46.0.Попробуйте использовать последнюю версию
Пожалуйста используйте WebElement
Вместо нет необходимости бросить и все с isDisplayed() isEnabled() and driver.findElements(By.xpath(accessor)).size() > 0
Что-то вроде этого:
public static boolean isElementFoundDisplayedEnabled(WebDriver driver, String accessor){
return driver.findElements(By.xpath(accessor)).size() > 0 && driver.findElement(By.xpath(accessor)).isDisplayed() && driver.findElement(By.xpath(accessor)).isEnabled();
//isDisplayed(): method avoids the problem of having to parse an element's "style" attribute to check hidden/visible. False when element is not present
//isEnabled(): generally return true for everything but disabled input elements.
}
работ, но я все еще нахожу это немного раздражает. Интересно, в чем заключается причина не предлагать WebElement.isDisplayed. – ponzao
Это не работает, но этот интерфейс делегирует метод isDisplayed, и он работает. Спасибо за подсказку. (+1) – Gaim
Это все еще актуально для селена 2.0? Я не думаю, что есть необходимость в RenderedWebElement (сам класс отсутствует). – Eugen