Подождите, пока конкретный элемент не исчезнет
Используя 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 добиться того же?
1 ответ:
Вы можете написать
disappear_elementследующим образом (используяfind_elementsвместоfind_element):def disappear_element driver.find_elements(:class, 'gritter-item').size == 0 end
Comments