如何 select 列表中的第 3 个 'a' 标记用于 RSpec 测试?

How to select 3rd 'a' tag in a list for RSpec test?

如何 select 列表中的 link 单击以进行 rspec 验收测试。视图的代码是(在 html 中):

%ul.exports
  %li.model
    .name
      Model 1
    .control
      link_to 'Export', export_model_path(:model1)

我试过了

(page.find("a")[:href] = "/admin/export/users").click

响应为 'Capybara Ambiguous match'。我也试过

的变体
page.find(".exports li:nth-child(3) control a").click

响应为 'unable to find css'。除了 href 值外,列表中的所有项目都相同。

您的 Haml 示例中只有一个 a 标记,所以我猜您的示例不完整。如果你想通过它的 href 值检索一个 link 你可以试试这个:

find(:xpath, "//a[@href='/admin/export/users']").click