2013-10-15 6 views
4

Использование Ruby, мы можем ждать определенного элемента, выполнив следующие действия:Подождите, пока конкретный элемент исчезнет

wait = Selenium::WebDriver::Wait.new(:timeout => 10) 
wait.until { driver.find_element(:class, 'gritter-item') } 

, но если я хочу конкретный элемент исчезнуть из DOM, я пишу метод, как:

def disappear_element 
    begin 
     driver.find_element(:class, 'gritter-item') 
    rescue Selenium::WebDriver::Error::NoSuchElementError 
     true 
    else 
     false 
    end 
    end 

и назвал это нравится:

wait.until { disappear_element } 

Таким образом, я мог бы достичь отсутствие элемента. Есть ли лучший способ в Ruby для достижения того же?

+0

элемент исчезают средства? Я не понял вашу точку зрения. –

+0

означает ожидание элемента не найденной ошибки. В моем случае, я хочу проверить, что всплывающий элемент не найден, как только всплывающее окно исчезает. – TDHM

ответ

3

Вы можете написать disappear_element как последуйте (с использованием find_elements вместо find_element):

def disappear_element 
    driver.find_elements(:class, 'gritter-item').size == 0 
end 
Смежные вопросы