2017-07-22 18 views
0

这是我的骚灵设置:骚灵:七分截图

Capybara.register_driver :poltergeist do |app| 
    Capybara::Poltergeist::Driver.new(app, { screen_size: [1024, 768], window_size: [1024, 768] }) 
end 

Capybara.default_driver = :poltergeist 
Capybara.javascript_driver = :poltergeist 

browser = Capybara.current_session 
# browser.driver.resize(1024, 768) 
# browser.driver.resize_window(1024, 768) 
# browser.current_window.resize_to(1024, 768) 

browser.visit('https://en.wikipedia.org/wiki/Poltergeist') 
browser.save_screenshot('test.jpg') 

的截图有正确的尺寸,但在浏览器窗口本身被裁剪:

enter image description here

我也试过评论大小调整方法,但没有解决这个问题。 什么可能导致浏览器窗口被裁剪?

回答

1

Poltergeists渲染由PhantomJS控制。这看起来是由使用CSS的维基百科引起的,PhantomJS不支持或者有一个bug。不幸的是,PhantomJS(2.1.1)的当前发行版本基本上与Safari 5相同,因此它远未达到最新版本。有几种可能的解决方案。在努力为了

  1. 如果使用在当前骚灵2.5.0 beta版的一个可运行的平台尝试,因为它更多的是最新的CSS和JS支持

  2. 使用execute_script注入Poltergeist支持的CSS并覆盖已损坏的CSS。高度特定的网站,所以如果你不仅获得维基百科的屏幕截图,它可能不实用。

  3. 交换使用硒与无头铬生成您的屏幕截图。

#3可能会或可能不会起来容易#2根据您的完整安装程序

+0

PhantomJS 2.5.beta对我来说是最好的解决方案。 – Railsana