Ruby on rails 如何在水豚中单击此按钮

Ruby on rails 如何在水豚中单击此按钮,ruby-on-rails,ruby-on-rails-3,testing,rspec,capybara,Ruby On Rails,Ruby On Rails 3,Testing,Rspec,Capybara,请帮我用水豚解决这个问题 我在水豚身上有一个这样的按钮: <input type="submit" value="Verify" name="verify" id="verify" class="button"> 作者的回答 问题出在html代码中: <div> <form> <div> </div> </div> <input type="submit" value="Verify" name="ver

请帮我用水豚解决这个问题

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

<input type="submit" value="Verify" name="verify" id="verify" class="button">
作者的回答 问题出在html代码中:

<div>
<form>
<div>    
</div>
</div>
  <input type="submit" value="Verify" name="verify" id="verify" class="button">
</form>


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

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

您是否尝试将CSS选择器“加倍”?这是我从水豚-2.4.3开始就使用的机制

find("#verify").find("[name=verify]").click
除了#id vale之外的任何其他属性都应该起作用,例如

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

如果您有一个元素的ID,只需使用@bonzofenix的方法,但要简单一点:

在“form”do中
查找(“#验证”)。单击
结束

您是否尝试过单击按钮“验证”?感谢您的评论,我也尝试过单击按钮“验证”,但给出了相同的错误。还尝试了单击“验证”,查找(“验证”)。单击,但抛出相同的错误。右jwall!capibara在提交前有一个未关闭的标记时会遇到问题,谢谢如果您还没有安装javascript驱动程序,那么您还需要在gem文件中包括一个类似selenium或poltergeist的文件(
gem'selenium webdriver',:group=>:test
gem'poltergeist',:group=>:test
)。如果不使用默认驱动程序selenium,您还需要在spec_助手中要求您的驱动程序(即,
require'capybara\poltergeist'
),并在Rspec.configure块之前设置capybara驱动程序(
capybara.javascript_driver=:poltergeist
find("#verify").find(".button]").click