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.



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

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



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

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

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


  @bridge.addCookie opts
end

#all_cookiesArray<Hash>

Get all cookies

Returns:

  • (Array<Hash>)

    list of cookies



95
96
97
98
99
100
101
102
103
104
105
106
# File 'lib/selenium/webdriver/common/options.rb', line 95

def all_cookies
  @bridge.getAllCookies.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

Parameters:

  • name (String)

    the name of the cookie

Returns:

  • (Hash, nil)

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



67
68
69
# File 'lib/selenium/webdriver/common/options.rb', line 67

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

#delete_all_cookiesObject

Delete all cookies



85
86
87
# File 'lib/selenium/webdriver/common/options.rb', line 85

def delete_all_cookies
  @bridge.deleteAllCookies
end

Delete the cookie with the given name

Parameters:

  • name (String)

    the name of the cookie to delete



77
78
79
# File 'lib/selenium/webdriver/common/options.rb', line 77

def delete_cookie(name)
  @bridge.deleteCookie name
end

#logsObject



116
117
118
# File 'lib/selenium/webdriver/common/options.rb', line 116

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

#timeoutsObject



108
109
110
# File 'lib/selenium/webdriver/common/options.rb', line 108

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

#windowObject



124
125
126
# File 'lib/selenium/webdriver/common/options.rb', line 124

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