Capybara::ElementNotFound 按 id 收音机
Capybara::ElementNotFound radio by id
我理解 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 select 单选按钮?
因此 choose()
的第一个默认功能采用 #id
。
但是没有指定#
字符。
您正在映射标签并试图将其视为收音机?也许映射具有 type=radio 的输入,那么很可能您将能够对该元素使用 choose 方法:
choose("i-20-1")
不确定您是否真的需要在 id 之前的 # 来选择方法...如果它没有成功找到元素,请尝试:
choose("#i-20-1")
我理解 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 select 单选按钮?
因此 choose()
的第一个默认功能采用 #id
。
但是没有指定#
字符。
您正在映射标签并试图将其视为收音机?也许映射具有 type=radio 的输入,那么很可能您将能够对该元素使用 choose 方法:
choose("i-20-1")
不确定您是否真的需要在 id 之前的 # 来选择方法...如果它没有成功找到元素,请尝试:
choose("#i-20-1")