我理解Capybara选择单选按钮的语法如下
choose("Label Name")
我遇到的问题是,对于标签的默认名称已更改为#id
。
这是我的HTML
<label for="school_application_I_20"> Do you require an I-20 Form?</label>
<br>
<label for="school_application_I_20_true">Yes</label>
<input id="i-20-1" name="school_application[I_20]" type="radio" value="true" />
<label for="school_application_I_20_false">No</label>
<input id="i-20-2" name="school_application[I_20]" type="radio" value="false" />
<br>
当我尝试使用
选择元素的旧方法时 choose('school_application_I_20_true')
我得到了
Capybara::ElementNotFound:
Unable to find radio button "school_application_I_20_true"
当我更改选择使用元素ID时,我得到的错误与ID相同。有没有办法按ID选择单选按钮?
答案 0 :(得分:0)
因此,choose()
的第一个和默认功能都需要#id
。
但是没有指定#
字符。
答案 1 :(得分:0)
您正在映射标签并尝试将其视为收音机?也许映射了type = radio的输入,很可能你就可以使用该元素的choose方法:
choose("i-20-1")
不确定你是否真的需要#之前的#选择方法...如果它没有找到该元素成功尝试:
choose("#i-20-1")