class Selenium::WebDriver::Manager

Constants

SECONDS_PER_DAY

Public Class Methods

new(bridge) click to toggle source

@api private

# File lib/selenium/webdriver/common/manager.rb, line 27
def initialize(bridge)
  @bridge = bridge
end

Public Instance Methods

all_cookies() click to toggle source

Get all cookies

@return [Array<Hash>] list of cookies

# File lib/selenium/webdriver/common/manager.rb, line 99
def all_cookies
  @bridge.cookies.map { |cookie| convert_cookie(cookie) }
end
delete_all_cookies() click to toggle source

Delete all cookies

# File lib/selenium/webdriver/common/manager.rb, line 89
def delete_all_cookies
  @bridge.delete_all_cookies
end
logs() click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 107
def logs
  WebDriver.logger.deprecate('Manager#logs', 'Chrome::Driver#logs')
  @logs ||= Logs.new(@bridge)
end
new_window(type = :tab) click to toggle source

@param type [Symbol] Supports two values: :tab and :window. @return [String] The value of the window handle

# File lib/selenium/webdriver/common/manager.rb, line 116
def new_window(type = :tab)
  WebDriver.logger.deprecate('Manager#new_window', 'TargetLocator#new_window', id: :new_window) do
    'e.g., `driver.switch_to.new_window(:tab)`'
  end
  case type
  when :tab, :window
    result = @bridge.new_window(type)
    unless result.key?('handle')
      raise UnknownError, "the driver did not return a handle. " \
                          "The returned result: #{result.inspect}"
    end
    result['handle']
  else
    raise ArgumentError, "invalid argument for type. Got: '#{type.inspect}'. " \
                         "Try :tab or :window"
  end
end
timeouts() click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 103
def timeouts
  @timeouts ||= Timeouts.new(@bridge)
end
window() click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 134
def window
  @window ||= Window.new(@bridge)
end

Private Instance Methods

datetime_at(int) click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 142
def datetime_at(int)
  DateTime.civil(1970) + (int / SECONDS_PER_DAY)
end
seconds_from(obj) click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 146
def seconds_from(obj)
  case obj
  when Time
    obj.to_f
  when DateTime
    (obj - DateTime.civil(1970)) * SECONDS_PER_DAY
  when Numeric
    obj
  else
    raise ArgumentError, "invalid value for expiration date: #{obj.inspect}"
  end
end
strip_port(str) click to toggle source
# File lib/selenium/webdriver/common/manager.rb, line 159
def strip_port(str)
  str.split(':', 2).first
end