class Selenium::WebDriver::Remote::Driver

Driver implementation for remote server. @api private

Public Class Methods

new(bridge: nil, listener: nil, **opts) click to toggle source
Calls superclass method Selenium::WebDriver::Driver::new
# File lib/selenium/webdriver/remote/driver.rb, line 34
def initialize(bridge: nil, listener: nil, **opts)
  desired_capabilities = opts[:desired_capabilities]
  if desired_capabilities.is_a?(Symbol)
    unless Remote::Capabilities.respond_to?(desired_capabilities)
      raise Error::WebDriverError, "invalid desired capability: #{desired_capabilities.inspect}"
    end

    opts[:desired_capabilities] = Remote::Capabilities.__send__(desired_capabilities)
  end
  opts[:url] ||= "http://#{Platform.localhost}:4444/wd/hub"
  super
  @bridge.file_detector = ->((filename, *)) { File.exist?(filename) && filename.to_s }
end

Private Instance Methods

devtools_url() click to toggle source
# File lib/selenium/webdriver/remote/driver.rb, line 50
def devtools_url
  capabilities['se:cdp']
end
devtools_version() click to toggle source
# File lib/selenium/webdriver/remote/driver.rb, line 54
def devtools_version
  capabilities['se:cdpVersion']&.split('.')&.first ||
    raise(Error::WebDriverError, "DevTools is not supported by the Remote Server")
end