Selenium 水豚/硒:等待元素隐藏

Selenium 水豚/硒:等待元素隐藏,selenium,cucumber,capybara,Selenium,Cucumber,Capybara,我需要等待加载条(div#load)在一个步骤中消失(变成display:none)。我希望下面的方法能奏效 find('#loading').should_not be_visible 但它似乎没有等待。有什么想法可以实现吗?您需要使用wait_until等待您的条件得到满足 wait_until { !page.evaluate_script(%{$('#loading').is(':visible')}) } 可能需要等待一段时间来检查可见性,但上次我检查了页面。has\u no\u

我需要等待加载条(div#load)在一个步骤中消失(变成display:none)。我希望下面的方法能奏效

find('#loading').should_not be_visible

但它似乎没有等待。有什么想法可以实现吗?

您需要使用
wait_until
等待您的条件得到满足

wait_until { !page.evaluate_script(%{$('#loading').is(':visible')}) } 
可能需要等待一段时间来检查可见性,但上次我检查了
页面。has\u no\u css
不适用于
:visible
之类的内容

Update)虽然
有css
但没有看到像
:visible
这样的选择器,
Capybara::Node::Element
确实有一些方法使上面的内容更漂亮

wait_until { !find("#loading").visible? }

@MikeAski可能有助于为将来来到这里的人添加新的提议方式。天哪,我讨厌黄瓜