Class: Selenium::WebDriver::Edge::Driver Private
- Includes:
- DriverExtensions::TakesScreenshot
- Defined in:
- lib/selenium/webdriver/edge/driver.rb
Overview
This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.
Driver implementation for Microsoft Edge.
Constant Summary
Constants included from SearchContext
Instance Method Summary collapse
- #browser ⇒ Object private
-
#initialize(opts = {}) ⇒ Driver
constructor
private
A new instance of Driver.
- #quit ⇒ Object private
Methods included from DriverExtensions::TakesScreenshot
#save_screenshot, #screenshot_as
Methods inherited from Driver
#[], #action, #capabilities, #close, #current_url, #execute_async_script, #execute_script, for, #get, #inspect, #keyboard, #manage, #mouse, #navigate, #page_source, #ref, #switch_to, #title, #window_handle, #window_handles
Methods included from SearchContext
Constructor Details
#initialize(opts = {}) ⇒ Driver
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.
Returns a new instance of Driver.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/selenium/webdriver/edge/driver.rb', line 32 def initialize(opts = {}) opts[:desired_capabilities] ||= Remote::W3C::Capabilities.edge unless opts.key?(:url) driver_path = opts.delete(:driver_path) || Edge.driver_path port = opts.delete(:port) || Service::DEFAULT_PORT opts[:driver_opts] ||= {} if opts.key? :service_args WebDriver.logger.deprecate ':service_args', "driver_opts: {args: #{opts[:service_args]}}" opts[:driver_opts][:args] = opts.delete(:service_args) end @service = Service.new(driver_path, port, opts.delete(:driver_opts)) @service.host = 'localhost' if @service.host == '127.0.0.1' @service.start opts[:url] = @service.uri end listener = opts.delete(:listener) # Edge is mostly using W3C dialect, but a request to # create session responds with OSS-like body, # so we need to force W3C implementation. desired_capabilities = opts.delete(:desired_capabilities) bridge = Remote::Bridge.new(opts) capabilities = bridge.create_session(desired_capabilities) WebDriver.logger.info 'Forcing W3C dialect.' @bridge = Remote::W3C::Bridge.new(capabilities, bridge.session_id, opts) @bridge.extend Edge::Bridge super(@bridge, listener: listener) end |
Instance Method Details
#browser ⇒ 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.
67 68 69 |
# File 'lib/selenium/webdriver/edge/driver.rb', line 67 def browser :edge end |
#quit ⇒ 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.
71 72 73 74 75 |
# File 'lib/selenium/webdriver/edge/driver.rb', line 71 def quit super ensure @service.stop if @service end |