【问题标题】:Wait until particular element to disappear等到特定元素消失
【发布时间】:2013-10-15 15:15:28
【问题描述】:

使用 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 中有没有更好的方法来达到同样的效果?

【问题讨论】:

  • 元素消失意味着什么?我没明白你的意思..
  • 表示预期元素未找到错误。就我而言,我想检查弹出窗口消失后是否找不到弹出元素。

标签: ruby selenium-webdriver


【解决方案1】:

您可以将disappear_element 写成如下(使用find_elements 而不是find_element):

def disappear_element
  driver.find_elements(:class, 'gritter-item').size == 0
end

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 2019-05-23
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-07-31
    • 2022-09-27
    • 2016-07-28
    • 1970-01-01
    相关资源
    最近更新 更多