Capybara+在执行自动化脚本时无法设置cookie


browser = Capybara.current_session.driver.browser
browser.manage.add_cookie :name => "introduction_done", :value => "yes"
#even tired this one as well
browser.manage.add_cookie name: "introduction_done", value: "yes"

得到错误

# --- Caused by: ---
# Selenium::WebDriver::Error::NoSuchCollectionError:
# unable to set cookie
# (Session info: chrome=67.0.3396.99)
# (Driver info: chromedriver=2.40.565383 (76257d1ab79276b2d53ee976b2c3e3b9f335cde7),platform=Linux 4.15.0-29-generic x86_64)
# /home/.rvm/gems/ruby-2.4.3/gems/selenium-webdriver-3.13.1/lib/selenium/webdriver/remote/response.rb:69:in `assert_ok'

您似乎正在尝试在访问任何URL之前设置cookie

正如jamescroft.com上的这篇文章和GitHub上的Selenium问题所解释的,你需要做一些类似的事情:

visit 'https://your_website.com'
browser = Capybara.current_session.driver.browser
browser.manage.add_cookie :name => "introduction_done", :value => "yes"

最新更新