How to select option in drop down using Capybara
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 <option>
node.
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:
find('#organizationSelect').find(:xpath, 'option[2]').select_option
To add yet another answer to the pile (because apparently there's so many ways of doing it depending on your setup) - I did it by selecting the literal option
element and clicking it
find(".some-selector-for-dropdown option[value='1234']").select_option
It's not very pretty, but it works :/
another option is to add a method like this
def select_option(css_selector, value)
find(:css, css_selector).find(:option, value).select_option
end
For some reason it didn't work for me. So I had to use something else.
select "option_name_here", :from => "organizationSelect"
worked for me.