如何在水豚中单击此按钮

请帮我解决水豚这个问题

我在水豚中有一个这样的按钮:

 

我试过了

click_button "verify"

但它给出了错误:

 Failure/Error: find('#verify').click NoMethodError: undefined method `node_name' for nil:NilClass 

作者回答

问题出在html代码中:

 

因为有一个冗余的 ,所以在表单之外处理,因此capybara会导致这些错误。 删除冗余 ,一切正常。

尝试在describe添加js: true 。 当您没有包含按钮的表单时会发生这种情况。

您是否尝试过“加倍”CSS选择器? 自从capybara-2.4.3以来,这一直是我的首选机制

 find("#verify").find("[name=verify]").click 

除#id-vale之外的任何其他属性都应该起作用,例如

 find("#verify").find(".button]").click 

如果你有一个元素的ID,只需使用@ bonzofenix的方法,但使它更简单:

within 'form' do find('#verify').click end