Selenium Webdriver 获取 cookie 值

use*_*703 2 ruby automation webdriver cucumber selenium-webdriver

我正在尝试获取 cookie 值,但不断收到错误 <Selenium::WebDriver::Driver:0x13a0e0e8 browser=:firefox>

我在打电话

@browser.cookie_named("configsession").each do |cookie|
  puts cookie[:name]
Run Code Online (Sandbox Code Playgroud)

有什么我做错了吗?

Jus*_* Ko 5

使用 cookie 的方法在 Selenium::WebDriver::Options 中定义 - 请参阅API 文档

要访问这些 cookie 方法,您需要调用manage驱动程序的方法:

@browser.manage
Run Code Online (Sandbox Code Playgroud)

要根据名称获取 cookie,您需要执行以下操作:

@browser.manage.cookie_named("configsession")
Run Code Online (Sandbox Code Playgroud)

请注意,cookie_named返回匹配的单个 cookie。cookie 值是一个哈希值。因此,您可以通过执行以下操作来获取 cookie 的值:

cookie = @browser.manage.cookie_named("configsession")
cookie[:name]
#=> "configsession"
Run Code Online (Sandbox Code Playgroud)

如果要获取页面上所有cookies的名称,使用all_cookies方法:

driver.manage.all_cookies.each do |cookie|
    puts cookie[:name]
end
Run Code Online (Sandbox Code Playgroud)