class Selenium::WebDriver::Remote::Bridge::LocatorConverter
def convert(how, what)
def convert(how, what) how = SearchContext.finders[how.to_sym] || how case how when 'class name' how = 'css selector' what = ".#{escape_css(what.to_s)}" when 'id' how = 'css selector' what = "##{escape_css(what.to_s)}" when 'name' how = 'css selector' what = "*[name='#{escape_css(what.to_s)}']" end if what.is_a?(Hash) what = what.each_with_object({}) do |(h, w), hash| h, w = convert(h.to_s, w) hash[h] = w end end [how, what] end
def escape_css(string)
def escape_css(string) string = string.gsub(ESCAPE_CSS_REGEXP) { |match| "\\#{match}" } string = "\\#{UNICODE_CODE_POINT + Integer(string[0])} #{string[1..]}" if string[0]&.match?(/[[:digit:]]/) string end