【发布时间】:2013-12-06 16:44:01
【问题描述】:
我正在尝试使用 Capybara (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)?
【问题讨论】:
标签: ruby selenium-webdriver capybara