2016-08-05 162 views
0

我在Windows 7 x64上使用phantomjs來製作我的頁面截圖。我的代碼是PhantomJS無效頁面呈現

var webPage = require('webpage'); 
var page = webPage.create(); 

page.viewportSize = { width: 1920, height: 1080 }; 
page.open("http://localhost/index.html", function start(status) { 
    page.render('screeshot.png', {format: 'png', quality: '100'}); 
    phantom.exit(); 
}); 

我得到這樣 enter image description here

截圖,而Chrome的51告訴我頁這樣

enter image description here

+0

請加page.onError回調來檢查的錯誤及也在網站上的一些信息/ HTML將是有益的。 – Vaviloff

+0

我已經添加了onError處理函數,但它不會返回任何結果 –

+0

每個瀏覽器都不相同,大多數開發人員不會測試其頁面是否與PhantomJS兼容。它可能是任何錯誤的東西,但它看起來像一個CSS問題。編寫更好的代碼和/或更新到更新的PhantomJS版本。 –

回答

0

增加延時,也許phantomjs還沒有完全加載網站

var webPage = require('webpage'); 
var page = webPage.create(); 

page.viewportSize = { width: 1920, height: 1080 }; 
page.open("http://localhost/index.html", function start(status) { 
    setTimeout(function() { 
    page.render('screeshot.png', {format: 'png', quality: '100'}); 
    phantom.exit(); 
    }, 5000); 
}); 

或嘗試這個腳本(https://github.com/ariya/phantomjs/blob/master/examples/rasterize.js)使用命令行:

phantomjs rasterize.js http://localhost/index.html /yourFolder 1920px