Module: Selenium::WebDriver::Keys

Defined in:
lib/selenium/webdriver/common/keys.rb

Constant Summary collapse

KEYS =
{
  null: "\ue000",
  cancel: "\ue001",
  help: "\ue002",
  backspace: "\ue003",
  tab: "\ue004",
  clear: "\ue005",
  return: "\ue006",
  enter: "\ue007",
  shift: "\ue008",
  left_shift: "\ue008",
  control: "\ue009",
  left_control: "\ue009",
  alt: "\ue00A",
  left_alt: "\ue00A",
  pause: "\ue00B",
  escape: "\ue00C",
  space: "\ue00D",
  page_up: "\ue00E",
  page_down: "\ue00F",
  end: "\ue010",
  home: "\ue011",
  left: "\ue012",
  arrow_left: "\ue012",
  up: "\ue013",
  arrow_up: "\ue013",
  right: "\ue014",
  arrow_right: "\ue014",
  down: "\ue015",
  arrow_down: "\ue015",
  insert: "\ue016",
  delete: "\ue017",
  semicolon: "\ue018",
  equals: "\ue019",
  numpad0: "\ue01A",
  numpad1: "\ue01B",
  numpad2: "\ue01C",
  numpad3: "\ue01D",
  numpad4: "\ue01E",
  numpad5: "\ue01F",
  numpad6: "\ue020",
  numpad7: "\ue021",
  numpad8: "\ue022",
  numpad9: "\ue023",
  multiply: "\ue024",
  add: "\ue025",
  separator: "\ue026",
  subtract: "\ue027",
  decimal: "\ue028",
  divide: "\ue029",
  f1: "\ue031",
  f2: "\ue032",
  f3: "\ue033",
  f4: "\ue034",
  f5: "\ue035",
  f6: "\ue036",
  f7: "\ue037",
  f8: "\ue038",
  f9: "\ue039",
  f10: "\ue03A",
  f11: "\ue03B",
  f12: "\ue03C",
  meta: "\ue03D",
  command: "\ue03D", # alias
  left_meta: "\ue03D", # alias
  right_shift: "\ue050",
  right_control: "\ue051",
  right_alt: "\ue052",
  right_meta: "\ue053",
  numpad_page_up: "\ue054",
  numpad_page_down: "\ue055",
  numpad_end: "\ue056",
  numpad_home: "\ue057",
  numpad_left: "\ue058",
  numpad_up: "\ue059",
  numpad_right: "\ue05A",
  numpad_down: "\ue05B",
  numpad_insert: "\ue05C",
  numpad_delete: "\ue05D"
}.freeze

Class Method Summary collapse

Class Method Details

.[](key) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



113
114
115
116
# File 'lib/selenium/webdriver/common/keys.rb', line 113

def self.[](key)
  return KEYS[key] if KEYS[key]
  raise Error::UnsupportedOperationError, "no such key #{key.inspect}"
end

.encode(keys) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



122
123
124
# File 'lib/selenium/webdriver/common/keys.rb', line 122

def self.encode(keys)
  keys.map { |key| encode_key(key) }
end

.encode_key(key) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'lib/selenium/webdriver/common/keys.rb', line 130

def self.encode_key(key)
  case key
  when Symbol
    Keys[key]
  when Array
    key = key.map { |e| e.is_a?(Symbol) ? Keys[e] : e }.join
    key << Keys[:null]

    key
  else
    key.to_s
  end
end