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

Ruby Capybara Poltergeist, how to take screenshot for a page with required login

所以我正在使用 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 登录并截取该网页的屏幕截图?

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

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)

尽管具体细节会根据您尝试登录的page/fields

而有所不同