class Watir::Locators::Button::SelectorBuilder

Public Instance Methods

build_wd_selector(selectors) click to toggle source
# File lib/watir-webdriver/locators/button/selector_builder.rb, line 5
def build_wd_selector(selectors)
  return if selectors.values.any? { |e| e.kind_of? Regexp }

  selectors.delete(:tag_name) || raise("internal error: no tag_name?!")

  button_attr_exp = xpath_builder.attribute_expression(:button, selectors)

  selectors[:type] = Watir::Button::VALID_TYPES
  input_attr_exp = xpath_builder.attribute_expression(:input, selectors)

  xpath = ".//button"
  xpath << "[#{button_attr_exp}]" unless button_attr_exp.empty?
  xpath << " | .//input"
  xpath << "[#{input_attr_exp}]"

  p build_wd_selector: xpath if $DEBUG

  [:xpath, xpath]
end