Ruby Capybara Poltergeist,如何为需要登录的页面截取屏幕截图

时间:2017-01-19 17:26:03

标签: ruby capybara poltergeist

所以我正在使用Cabybara来截取这样的截图

Capybara.register_driver(:poltergeist) { |app| Capybara::Poltergeist::Driver.new(app, js_errors: false) }
Capybara.default_driver = :poltergeist
session = Capybara.current_session
session.visit url
session.save_screenshot('image.png',full: true)

但是现在我遇到了一个我必须登录的页面,如何使用Capybara登录并拍摄此网页的屏幕截图?

1 个答案:

答案 0 :(得分:2)

您需要填写登录字段,单击提交登录信息的任何按钮,然后等待登录完成,然后截取屏幕截图。像

这样的东西
session.visit url
session.fill_in 'Email', with: 'user@example.com'
session.fill_in 'Password', with: 'password'
session.click_button 'Sign in'
expect(session).to have_content 'You are now logged in!'
session.save_screenshot('image.png',full: true)

虽然具体细节会根据您尝试登录的页面/字段而有所不同