I'm trying to select an item from a drop down menu using Capybara (2.1.0).
I want to select by number (meaning select the second, third, etc option).
I've Googled like crazy trying all sorts of things but no luck.
I was able to select it by using the value:
<select name="organizationSelect" id="organizationSelect" class="required">
<option value="4c430d62-f1ba-474f-8e8a-4452c55ea0a8"> Institution1</option>
<option value="e1a4efa7-352d-410a-957e-35c8a3b92944"> Institution / test</option>
option = find(:xpath, "//*[@id='organizationSelect']/option").text
select(option, :from => organizationSelect)
Ambiguous match, found 2 elements matching option "Institution" (Capybara::Ambiguous)
If you take a look at the source of the
select method, you can see that what it does when you pass a
from key is essentially:
find(:select, from, options).find(:option, value, options).select_option
In other words, it finds the
<select> you're interested in, then finds the
<option> within that, then calls
select_option on the
You've already pretty much done the first two things, I'd just rearrange them. Then you can tack the
select_option method on the end: