请帮我用水豚解决这个问题
我在水豚中有一个这样的按钮:
<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 选择器?自 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