class CongressForms::Actions::Select
Public Instance Methods
perform(browser, params={})
click to toggle source
# File lib/congress_forms/actions.rb, line 93 def perform(browser, params={}) user_value = params[value] browser.within(selector) do if placeholder_value? option_value = user_value or raise Error, "Required field missing: #{value}" else option_value = value end begin elem = browser.first('option[value="' + escape_css_attribute(option_value) + '"]') rescue Capybara::ElementNotFound elem = browser.first('option', text: Regexp.compile("^" + Regexp.escape(option_value) + "(\\W|$)")) end elem.select_option end rescue Capybara::ElementNotFound => e raise e, e.message unless options == "DEPENDENT" end