如何从 capybara-webkit 会话中获取 cookie?

How do I get cookies from a capybara-webkit session?

我已经 this question and grepped through the documentation 查找 cookie 这个词。但是,我正在使用如下所示的遗留代码。

require 'capybara'
require 'amatch'

Capybara.register_driver :chrome do |app|                             
    Capybara::Selenium::Driver.new(app, :browser => :chrome)          
end                                                                   

session = Capybara::Session.new(:chrome)                              
session.visit("http://facebook.com")                                  

如何从 session 对象中提取 cookie?

我正在使用 capybara 2.1.0capybara-webkit 1.1.1。 请注意,我需要使用 chrome,因为我需要 chrome 为我的用例提供的完整 JS 支持。

重复的问题包含解决方案,但答案被大量与该问题无关的内容所掩盖。副本也不包括可重现的最低工作示例。

重复的问题为我指明了正确的方向,但它太吵了,我最终查阅了 Selenium::WebDriver::Options and Selenium::WebDriver::Driver

的文档

以下是我们如何取出 cookie。

puts session.driver.browser.manage.all_cookies