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