ruby-on-rails - 如何使用 Ruby + Selenium WebDriver 保存和加载 cookie
问题描述
如何将 Ruby 的 Selenium WebDriver 中的所有 cookie 保存到 txt 文件中,然后再加载它们?我找不到任何同时导出和导入的答案
在 python 中看起来是一种非常简单的方法,如何在 RUBY 中做到这一点?
如何使用 Python + Selenium WebDriver 保存和加载 cookie:
import pickle
import selenium.webdriver
driver = selenium.webdriver.Firefox()
driver.get("http://www.google.com")
pickle.dump( driver.get_cookies() , open("cookies.pkl","wb"))
编辑:我只使用 Selenium WebDriver(没有 capybara 等)
解决方案
在测试中,您可以使用 gem show_me_the_cookies(包装器/适配器)
cookies = show_me_the_cookies # => [{:name, :domain, :value, :expires, :path, :secure}]
# here you can write them as you like
# and then load and
cookies.each{|c|
create_cookie(c[:name], c[:value], path: c[:path], domain: c[:domain]) # etc.
}
如果没有 gem,您可以直接调用 selenium 驱动程序:
driver = Capybara.current_session.driver # or get your selenium driver other way if not using capybara
cookies = driver.browser.manage.all_cookies
# be sure that you've visited a page in your app, selenium cannot create cookies at `about:blank`
driver.browser.manage.add_cookie(name: ..., value:...)
推荐阅读
- google-apps-script - How can i deploy gmail addon to marketplace?
- css - I was unable to style the active route in React using react-router
- php - ACF: Why can't I display all the images at once?
- php - why the name capture group does not capture the same value?
- java - How can I make a ThreadPoolExecutor use a deque?
- node.js - 安装 Angular 时的权限问题
- redux - 如何并行调用相同的史诗?
- reactjs - React Native card images doesn't render
- c# - 如何将具有对象列表作为参数的对象序列化为查询字符串格式?
- maven - “UNABLE_TO_VERIFY_LEAF_SIGNATURE”当我的 TFS 使用“准备分析配置”任务构建时