Class: Selenium::WebDriver::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/selenium/webdriver/common/options.rb

Instance Method Summary collapse

Constructor Details

#initialize(bridge) ⇒ Options

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 Options.



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

def initialize(bridge)
  @bridge = bridge
end

Instance Method Details

Add a cookie to the browser

Options Hash (opts):

  • :name (String)

    A name

  • :value (String)

    A value

  • :path (String) — default: '/'

    A path

  • :secure (String) — default: false

    A boolean

  • :expires (Time, DateTime, Numeric, nil) — default: nil

    Expiry date, either as a Time, DateTime, or seconds since epoch.

Raises:

  • (ArgumentError)

    if :name or :value is not specified



44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/selenium/webdriver/common/options.rb', line 44

def add_cookie(opts = {})
  raise ArgumentError, 'name is required' unless opts[:name]
  raise ArgumentError, 'value is required' unless opts[:value]

  opts[:path] ||= '/'
  opts[:secure] ||= false

  obj = opts.delete(:expires)
  opts[:expiry] = seconds_from(obj).to_i if obj

  @bridge.add_cookie opts
end

#all_cookiesArray<Hash>

Get all cookies



92
93
94
95
96
97
98
99
100
101
102
103
# File 'lib/selenium/webdriver/common/options.rb', line 92

def all_cookies
  @bridge.cookies.map do |cookie|
    {
      name: cookie['name'],
      value: cookie['value'],
      path: cookie['path'],
      domain: cookie['domain'] && strip_port(cookie['domain']),
      expires: cookie['expiry'] && datetime_at(cookie['expiry']),
      secure: cookie['secure']
    }
  end
end

Get the cookie with the given name



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

def cookie_named(name)
  all_cookies.find { |c| c[:name] == name }
end

#delete_all_cookiesObject

Delete all cookies



82
83
84
# File 'lib/selenium/webdriver/common/options.rb', line 82

def delete_all_cookies
  @bridge.delete_all_cookies
end

Delete the cookie with the given name



74
75
76
# File 'lib/selenium/webdriver/common/options.rb', line 74

def delete_cookie(name)
  @bridge.delete_cookie name
end

#logsObject



113
114
115
# File 'lib/selenium/webdriver/common/options.rb', line 113

def logs
  @logs ||= Logs.new(@bridge)
end

#timeoutsObject



105
106
107
# File 'lib/selenium/webdriver/common/options.rb', line 105

def timeouts
  @timeouts ||= Timeouts.new(@bridge)
end

#windowObject



121
122
123
# File 'lib/selenium/webdriver/common/options.rb', line 121

def window
  @window ||= Window.new(@bridge)
end