How to check if element is invisible in Ruby Selenium client? In Java or C# answer is easy. There is a mechanism called ExpectedCondition
, which has got ready for use method: ExpectedConditions.invisibilityOfElementLocated
. Example:
driverWait.until(ExpectedConditions.invisibilityOfElementLocated(element));
Unfortunatelly, Ruby client hasn’t got anything like this. Quick workaround – try to find element. When element is not displayed, catch exception and return false:
def check_if_not_exist(locator) begin wait = Selenium::WebDriver::Wait.new :timeout => 10 wait.until { @driver.find_element(:name, 'elementName').displayed? } rescue false end end
Not very elegant and quick, but works.