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 11
def initialize(bridge)
  @bridge = bridge
end

Public Instance Methods

click(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 15
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 25
def context_click(element = nil)
  move_if_needed element
  @bridge.contextClick
end
double_click(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 20
def double_click(element = nil)
  move_if_needed element
  @bridge.doubleClick
end
down(element = nil) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 30
def down(element = nil)
  move_if_needed element
  @bridge.mouseDown
end
move_by(right_by, down_by) click to toggle source
# File lib/selenium/webdriver/common/mouse.rb, line 55
def move_by(right_by, down_by)
  @bridge.mouseMoveTo 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 49
def move_to(element, right_by = nil, down_by = nil)
  assert_element element

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

Private Instance Methods

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