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'事件,您可以根据您的自定义条件(如请求的域)中止某些请求。 –