如何我点击豚这个按钮(How do i click this button in capybara)

2019-07-29 10:08发布

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

我在水豚这样的按钮:

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

我试着用

click_button "verify"

但它给错误:

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

Answer 1:

通过笔者回答

问题就出在HTML代码中:

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

因为有一个冗余</div>中, <input>是形式外的治疗,因此capybara导致这些错误。 删除多余的后</div>一切工作正常。



Answer 2:

尝试添加js: truedescribe 。 这发生在你没有包含该按钮的形式。



Answer 3:

你尝试“翻倍”的CSS选择器? 这一直是我去到机制,因为水豚-2.4.3

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

除了#ID淡水河谷的任何其他属性应该做的伎俩,如

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


Answer 4:

如果你有一个元素的ID,只需使用@ bonzofenix的做法,但要成为一个更简单:

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



文章来源: How do i click this button in capybara