Returns the value of attribute devices.
Adds a KeyInput device.
Adds a PointerInput device of the given kind.
Adds a WheelInput device.
Clears all actions from the builder.
Retrieves the input device for the given name or type.
Initialize a W3C Action Builder.
Retrieves the current KeyInput device.
Creates a pause for the given device of the given duration.
Creates multiple pauses for the given device of the given duration.
Executes the actions added to the builder.
Retrieves the current PointerInput devices.
Releases all action states from the browser.
Retrieves the current WheelInput device.
#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) ⇒ ActionBuilderInitialize 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) } endInstance 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 endInstance 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