我在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)
我如何到达那里?
答案 0 :(得分:2)
您的a
标记不在input
字段中,因此除非隐藏form-group
div,否则您应该能够执行此操作:
click_link 'Remove Invoice Item'
如果隐藏form-group
,请尝试:
find(".remove_fields", visible: false).click