class Selenium::WebDriver::Mouse

@api private @see ActionBuilder

Public Class Methods

new(bridge) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 28
def initialize(bridge)
  @bridge = bridge
end

Public Instance Methods

click(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 32
def click(element = nil)
  move_if_needed element
  @bridge.click
end
context_click(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 42
def context_click(element = nil)
  move_if_needed element
  @bridge.context_click
end
double_click(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 37
def double_click(element = nil)
  move_if_needed element
  @bridge.double_click
end
down(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 47
def down(element = nil)
  move_if_needed element
  @bridge.mouse_down
end
move_by(right_by, down_by) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 72
def move_by(right_by, down_by)
  @bridge.mouse_move_to nil, Integer(right_by), Integer(down_by)
end
move_to(element, right_by = nil, down_by = nil) click to toggle source

Move the mouse.

Examples:

driver.mouse.move_to(element)
driver.mouse.move_to(element, 5, 5)
# File lib/selenium/webdriver/common/mouse.rb, line 66
def move_to(element, right_by = nil, down_by = nil)
  assert_element element

  @bridge.mouse_move_to element.ref, right_by, down_by
end
up(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 52
def up(element = nil)
  move_if_needed element
  @bridge.mouse_up
end

Private Instance Methods

assert_element(element) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 82
def assert_element(element)
  return if element.is_a? Element

  raise TypeError, "expected #{Element}, got #{element.inspect}:#{element.class}"
end
move_if_needed(element) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 78
def move_if_needed(element)
  move_to element if element
end