Module: Ferrum::Browser::API::Cookie

Included in:
Ferrum::Browser::API
Defined in:
lib/ferrum/browser/api/cookie.rb

Instance Method Summary collapse

Instance Method Details

#clear_cookiesObject



34
35
36
# File 'lib/ferrum/browser/api/cookie.rb', line 34

def clear_cookies
  page.command("Network.clearBrowserCookies")
end

#cookiesObject



7
8
9
10
# File 'lib/ferrum/browser/api/cookie.rb', line 7

def cookies
  cookies = page.command("Network.getAllCookies")["cookies"]
  cookies.map { |c| [c["name"], ::Ferrum::Cookie.new(c)] }.to_h
end

Supports :url, :domain and :path options



25
26
27
28
29
30
31
32
# File 'lib/ferrum/browser/api/cookie.rb', line 25

def remove_cookie(name:, **options)
  raise "Specify :domain or :url option" if !options[:domain] && !options[:url] && !default_domain

  options = options.merge(name: name)
  options[:domain] ||= default_domain

  page.command("Network.deleteCookies", **options)
end


12
13
14
15
16
17
18
19
20
21
22
# File 'lib/ferrum/browser/api/cookie.rb', line 12

def set_cookie(name: nil, value: nil, cookie: nil, **options)
  cookie = options.dup
  cookie[:name]   ||= name
  cookie[:value]  ||= value
  cookie[:domain] ||= default_domain

  expires = cookie.delete(:expires).to_i
  cookie[:expires] = expires if expires > 0

  page.command("Network.setCookie", **cookie)
end