TDH*_*DHM 5 ruby selenium-webdriver
使用 Ruby,我们可以通过执行以下操作来等待特定元素:
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
wait.until { driver.find_element(:class, 'gritter-item') }
Run Code Online (Sandbox Code Playgroud)
但是如果我希望特定元素从 DOM 中消失,我会编写如下方法:
def disappear_element
begin
driver.find_element(:class, 'gritter-item')
rescue Selenium::WebDriver::Error::NoSuchElementError
true
else
false
end
end
Run Code Online (Sandbox Code Playgroud)
并称之为:
wait.until { disappear_element }
Run Code Online (Sandbox Code Playgroud)
这样我就可以实现元素的缺失。在 Ruby 中有没有更好的方法来实现相同的目标?
你可以写disappear_element如下(使用find_elements代替find_element):
def disappear_element
driver.find_elements(:class, 'gritter-item').size == 0
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2350 次 |
| 最近记录: |