3
我今天在許多網站上做了一些研究,爲了避免手動查看它們,我準備了phantomjs以使用建議的解決方案here來呈現它們。沒什麼特別的。循環訪問網站數組並渲染所有生成的頁面。phantomjs不呈現頁面
奇怪的是,有些網站沒有正確渲染。其中,我有這樣的一個:http://www.telegraaf.nl/
爲了簡化,我創造了另一個腳本,只運行此頁:它在沒有截圖結束
var page = require('webpage').create();
page.viewportSize = { width: 1920, height: 960 };
page.clipRect = { top: 0, left: 0, width: 1920, height: 960 };
page.open('http://www.telegraaf.nl/', function(status) {
page.render("screenshot.png");
phantom.exit();
});
。與任何其他人一起測試,並完美的工作。 我忽略了什麼?
哈!它有效(儘管我必須在11個_problematic_網站中的8箇中等待30秒,也許我的連接非常慢)。作爲參考,在這些情況下,我不需要使用'--ignore-ssl-errors'標誌來工作,但保持設置以防萬一,這是一件好事。謝謝! – Korcholis
我也不需要忽略ssl錯誤,但我注意到那裏有一些請求日誌錯誤(通過[events](https://gist.github.com/artjomb/4cf43d16ce50d8674fdf#file-1_phantomerrors-js )),所以我添加了該命令行選項,並且他們離開了。 –
30秒有點多。也許你可以通過自定義廣告屏蔽來減少幾秒鐘的時間。通過'page.onResourceRequested'事件,您可以根據您的自定義條件(如請求的域)中止某些請求。 –