最佳答案
我试图选择一个项目从下拉菜单使用水豚(2.1.0)。
我想选择的数字(意味着选择第二,第三,等选项)。
我疯狂地谷歌了各种各样的事情,但没有运气。
我可以通过使用值来选择它:
find("option[value='4c430d62-f1ba-474f-8e8a-4452c55ea0a8']").click
但是我不想使用这个方法 b/c 这个值是会改变的,这会让我的测试变得脆弱。
下拉列表的 HTML 是:
<td class="value">
<select name="organizationSelect" id="organizationSelect" class="required">
<option value="NULL">Choose...</option>
<option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8"> Institution1</option>
<option value="e1a4efa7-352d-410a-957e-35c8a3b92944"> Institution / test</option>
</select>
</td>
我还试过这个:
option = find(:xpath, "//*[@id='organizationSelect']/option[2]").text
select(option, :from => organizationSelect)
但它导致了这个错误:
Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
那么我如何从下拉列表中选择第一、第二、第三等选项(使用 Capybara) ?