如何通过capybara单击隐藏div中的链接

时间:2014-03-11 05:09:56

标签: ruby-on-rails capybara

我在Rails 4应用程序中使用capybara,rspec和poltergeist,我试图通过capybara点击以下链接按钮。

<div class="form-group">
  <input id="invoice_invoice_items_attributes_0__destroy" name="invoice[invoice_items_attributes][0][_destroy]" type="hidden" value="false">
  <a class="btn btn-warning remove_fields existing" href="#">Remove Invoice Item</a>
</div>

如果我在rspec / capybara中有以下内容,它会找到隐藏的元素:

find(:xpath, '//input[@id="invoice_invoice_items_attributes_0__destroy"]', visible: false)

如果我试试这个,它找不到链接元素:

find(:xpath, '//input[@id="invoice_invoice_items_attributes_0__destroy"]/a', visible: false)

最终目标是:

find(:xpath, '//input[@id="invoice_invoice_items_attributes_0__destroy"]/a', visible: false)

我如何到达那里?

1 个答案:

答案 0 :(得分:2)

您的a标记不在input字段中,因此除非隐藏form-group div,否则您应该能够执行此操作:

click_link 'Remove Invoice Item'

如果隐藏form-group,请尝试:

find(".remove_fields", visible: false).click