请帮我解决这个问题,水豚
我在水豚这样的按钮:
<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
请帮我解决这个问题,水豚
我在水豚这样的按钮:
<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
问题就出在HTML代码中:
<div>
<form>
<div>
</div>
</div>
<input type="submit" value="Verify" name="verify" id="verify" class="button">
</form>
因为有一个冗余</div>
中, <input>
是形式外的治疗,因此capybara
导致这些错误。 删除多余的后</div>
一切工作正常。
尝试添加js: true
的describe
。 这发生在你没有包含该按钮的形式。
你尝试“翻倍”的CSS选择器? 这一直是我去到机制,因为水豚-2.4.3
find("#verify").find("[name=verify]").click
除了#ID淡水河谷的任何其他属性应该做的伎俩,如
find("#verify").find(".button]").click
如果你有一个元素的ID,只需使用@ bonzofenix的做法,但要成为一个更简单:
within 'form' do find('#verify').click end