class Watir::Locators::TextField::SelectorBuilder
Public Instance Methods
build_wd_selector(selectors)
click to toggle source
# File lib/watir-webdriver/locators/text_field/selector_builder.rb, line 5 def build_wd_selector(selectors) return if selectors.values.any? { |e| e.kind_of? Regexp } selectors.delete(:tag_name) textarea_attr_exp = xpath_builder.attribute_expression(:textarea, selectors) input_attr_exp = xpath_builder.attribute_expression(:input, selectors) xpath = ".//input[(not(@type) or (#{negative_type_expr}))" xpath << " and #{input_attr_exp}" unless input_attr_exp.empty? xpath << "] " xpath << "| .//textarea" xpath << "[#{textarea_attr_exp}]" unless textarea_attr_exp.empty? p build_wd_selector: xpath if $DEBUG [:xpath, xpath] end
Private Instance Methods
negative_type_expr()
click to toggle source
# File lib/watir-webdriver/locators/text_field/selector_builder.rb, line 26 def negative_type_expr Watir::TextField::NON_TEXT_TYPES.map do |type| "%s!=%s" % [XpathSupport.downcase('@type'), type.inspect] end.join(' and ') end