【问题标题】:Capybara/selenium: wait for element to become hiddenCapybara/selenium:等待元素被隐藏
【发布时间】:2012-02-26 06:17:26
【问题描述】:

我需要在黄瓜步骤中等待加载栏(div#loading)消失(变为显示:无)。我希望以下内容可以解决问题

find('#loading').should_not be_visible

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

【问题讨论】:

    标签: selenium cucumber capybara


    【解决方案1】:

    您将需要使用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? }
    

    【讨论】:

    • @MikeAski 可能有助于为将来来到这里的人添加新的提议方式。上帝我讨厌黄瓜
    猜你喜欢
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2014-05-07
    • 2021-07-28
    • 1970-01-01
    • 2020-06-12
    相关资源
    最近更新 更多