How to click first link in list of items after upgrading to Capybara 2.0?

后端 未结 7 1088
抹茶落季
抹茶落季 2020-12-12 15:11

How to click first link in that case:

Agree
7条回答
  •  情话喂你
    2020-12-12 15:52

    most of those solutions will not use Capybara's brilliant waiting features

    better do as this link suggests:
    https://thoughtbot.com/blog/write-reliable-asynchronous-integration-tests-with-capybara#find-the-first-matching-element

    Bad:

    first(".active").click
    If there isn’t an .active element on the page yet, first will return nil and the click will fail.

    Good:

    If you want to make sure there's exactly one
    find(".active").click

    If you just want the first element
    find(".active", match: :first).click
    Capybara will wait for the element to appear before trying to click.

    Note that match: :first is more brittle, because it will silently click on a different element if you introduce new elements which match.

提交回复
热议问题