Class: Selenium::WebDriver::Options

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

Direct Known Subclasses

W3COptions

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

Parameters:

  • opts (Hash) (defaults to: {})

    the options to create a cookie with.

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

Returns:

  • (Array<Hash>)

    list of cookies


92
93
94
# File 'lib/selenium/webdriver/common/options.rb', line 92

def all_cookies
  @bridge.cookies.map { |cookie| convert_cookie(cookie) }
end

Get the cookie with the given name

Parameters:

  • name (String)

    the name of the cookie

Returns:

  • (Hash, nil)

    the cookie, or nil if it wasn't found.


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

Parameters:

  • name (String)

    the name of the cookie to delete


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

def delete_cookie(name)
  @bridge.delete_cookie name
end

#logsObject


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

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

#timeoutsObject


96
97
98
# File 'lib/selenium/webdriver/common/options.rb', line 96

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

#windowObject


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

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