我尝试使用Capybara从选择框中选择一个选项,我尝试了多种组合和方式来选择项目,但Capybara说它无法找到该元素。以下是它从中选择的HTML:
<select id="subject_id" name="subject[id]"><option value="">Select a subject</option>
<option value="25">Biology & Life Sciences</option>
<option value="26">Business & Management</option>
<option value="27">Chemistry</option>
<option value="28">Communication</option>
<option value="29">Computer Science</option>
</select>
我尝试过多种组合来选择“计算机科学”和“#34;其值为&#34; 29&#34;从列表中:
select "Computer Science", from: "subject_id"
find('subject_id').find(:xpath, 'option[29]').select_option
find('subject_id').find("option[value='29']").click
select "29", from: "subject[id]"
我知道这与我登录时在正确的页面上没有关系,并且我已经运行了类似的测试,需要进行身份验证但不需要使用选择框。
这些只是我迄今为止尝试的9种或10种不同组合之一。我做错了什么,我该怎么做才能阻止这个Capybara::ElementNotFound
错误?
答案 0 :(得分:2)
要选择<option value="29">Computer Science</option>
选项,您需要选择以下选项:
select "29", from: "subject_id"
将选项值传递给select
。
29
是选项Computer Science
的选项值。