2017-07-22 20 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