Skip to content

Instantly share code, notes, and snippets.

@jaryl
Forked from thijsc/gist:1391107
Created February 6, 2012 08:56
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save jaryl/1750858 to your computer and use it in GitHub Desktop.
Save jaryl/1750858 to your computer and use it in GitHub Desktop.
Select item from chosen js select with Capybara-Webkit
def select_from_chosen(item_text, options)
field_id = find_field(options[:from])[:id]
within "##{field_id}_chzn" do
find('a.chzn-single').click
input = find("div.chzn-search input")
item_text.each_char do |char|
input.base.invoke('keypress', false, false, false, false, char.ord, nil);
end
find('ul.chzn-results').click
input.base.invoke('keypress', false, false, false, false, 40, nil); # down arrow
input.base.invoke('keypress', false, false, false, false, 13, nil); # return
within 'a.chzn-single' do
page.should have_content item_text
end
end
end
def select_from_multi_chosen(item_text, options)
field_id = find_field(options[:from])[:id]
within "##{field_id}_chzn" do
input = find("ul.chzn-choices input")
item_text.each_char do |char|
input.base.invoke('keypress', false, false, false, false, char.ord, nil);
end
input.base.invoke('keypress', false, false, false, false, 13, nil); # return
within 'ul.chzn-choices' do
page.should have_content item_text
end
end
end
@tdtadeu
Copy link

tdtadeu commented Sep 6, 2017

I'm using hoffmanc's solution and it's working ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment