Capybara / selenium:等待元素隐藏

时间:2011-09-26 14:31:41

标签: selenium cucumber capybara

我需要等待加载条(div #loading)在黄瓜步骤中消失(变为display:none)。我希望以下内容可以解决这个问题

find('#loading').should_not be_visible

但它似乎没有等待。任何想法如何实现?

1 个答案:

答案 0 :(得分:9)

您需要使用wait_until等待您的病情得到满足。

wait_until { !page.evaluate_script(%{$('#loading').is(':visible')}) } 

可能还有更好的等待来检查可见性,但上次检查时page.has_no_css无效:visible

更新 )虽然has_css没有看到:visible之类的选择器,Capybara::Node::Element确实有一些方法可以做到以上有点漂亮。

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