ruby - Selenium Webdriver 获取 cookie 值

标签 ruby automation webdriver cucumber selenium-webdriver

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

我正在打电话

@browser.cookie_named("configsession").each do |cookie|
  puts cookie[:name]

我做错了什么吗?

最佳答案

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

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

@browser.manage

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

@browser.manage.cookie_named("configsession")

请注意,cookie_named 返回一个匹配的 cookie。 cookies 值是一个哈希值。因此,您可以通过以下方式获取 cookie 的值:

cookie = @browser.manage.cookie_named("configsession")
cookie[:name]
#=> "configsession"

如果你想获取页面上所有cookie的名称,请使用all_cookies方法:

driver.manage.all_cookies.each do |cookie|
    puts cookie[:name]
end

关于ruby - Selenium Webdriver 获取 cookie 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17721862/

相关文章:

c# - 如何在 Blueprism 中指定列名和数据项?

java - selenium ide 导出到 webdriver java

java - 无法访问浏览器异常

python - 如何在python中使用selenium查找html类中是否存在元素

Ruby - 字符串操作

ruby - 将第一行作为下一行哈希的键?

ruby-on-rails - SystemStackError : stack level too deep - sql. 事件记录?

arrays - Ruby 数组搜索方法未按预期工作

jquery - 使用 jQuery 自动链接到页面中的章节?

linux - 如何在 Linux 中的给定时间窗口内每周运行一天任务?