A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://seleniumhq.github.io/selenium/docs/api/rb/Selenium/WebDriver/ActionBuilder.html below:

ActionBuilder — Documentation by YARD 0.9.37

Class: Selenium::WebDriver::ActionBuilder Instance Attribute Summary collapse Attributes included from WheelActions

#default_scroll_duration

Attributes included from PointerActions

#default_move_duration

Instance Method Summary collapse Methods included from WheelActions

#scroll_by, #scroll_from, #scroll_to

Methods included from PointerActions

#click, #click_and_hold, #context_click, #double_click, #drag_and_drop, #drag_and_drop_by, #move_by, #move_to, #move_to_location, #pointer_down, #pointer_up, #release

Methods included from KeyActions

#key_down, #key_up, #send_keys

Constructor Details #initialize(bridge, devices: [], async: false, duration: 250) ⇒ ActionBuilder

Initialize a W3C Action Builder. Differs from previous by requiring a bridge and allowing asynchronous actions. The W3C implementation allows asynchronous actions per device. e.g. A key can be pressed at the same time that the mouse is moving. Keep in mind that pauses must be added for other devices in order to line up the actions correctly when using asynchronous.

41
42
43
44
45
46
47
48
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 41

def initialize(bridge, devices: [], async: false, duration: 250)
  @bridge = bridge
  @duration = duration
  @async = async
  @devices = []

  Array(devices).each { |device| add_input(device) }
end
Instance Attribute Details #devices ⇒ Object

Returns the value of attribute devices.

27
28
29
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 27

def devices
  @devices
end
Instance Method Details #add_key_input(name) ⇒ Interactions::KeyInput
80
81
82
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 80

def add_key_input(name)
  add_input(Interactions.key(name))
end
#add_pointer_input(kind, name) ⇒ Interactions::PointerInput

Adds a PointerInput device of the given kind

64
65
66
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 64

def add_pointer_input(kind, name)
  add_input(Interactions.pointer(kind, name: name))
end
#clear_all_actions ⇒ Object

Clears all actions from the builder.

207
208
209
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 207

def clear_all_actions
  @devices.each(&:clear_actions)
end
#device(name: nil, type: nil) ⇒ Selenium::WebDriver::Interactions::InputDevice

Retrieves the input device for the given name or type

108
109
110
111
112
113
114
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 108

def device(name: nil, type: nil)
  input = @devices.find { |device| (device.name == name.to_s || name.nil?) && (device.type == type || type.nil?) }

  raise(ArgumentError, "Can not find device: #{name}") if name && input.nil?

  input
end
#pause(device: nil, duration: 0) ⇒ ActionBuilder

Creates a pause for the given device of the given duration. If no duration is given, the pause will only wait for all actions to complete in that tick.

162
163
164
165
166
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 162

def pause(device: nil, duration: 0)
  device ||= pointer_input
  device.create_pause(duration)
  self
end
#pauses(device: nil, number: nil, duration: 0) ⇒ ActionBuilder

Creates multiple pauses for the given device of the given duration.

184
185
186
187
188
189
190
191
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 184

def pauses(device: nil, number: nil, duration: 0)
  number ||= 2
  device ||= pointer_input
  duration ||= 0

  number.times { device.create_pause(duration) }
  self
end
#perform ⇒ Object

Executes the actions added to the builder.

197
198
199
200
201
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 197

def perform
  @bridge.send_actions @devices.filter_map(&:encode)
  clear_all_actions
  nil
end
#pointer_inputs ⇒ Array

Retrieves the current PointerInput devices

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

def pointer_inputs
  @devices.select { |device| device.type == Interactions::POINTER }
end
#release_actions ⇒ Object

Releases all action states from the browser.

215
216
217
# File 'rb/lib/selenium/webdriver/common/action_builder.rb', line 215

def release_actions
  @bridge.release_actions
end

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4