我正在使用slimerjs进行屏幕截图,如果您指定的宽度小于页面的最小宽度,则会裁剪到可见区域。
这种情况只发生在Facebook上。
test/blob/32af68387072a690ebce18b29c973330ac2497b4/img/slimerjs/www.facebook.com-240px.png
但是在其他网站上(比如谷歌),则呈现所有页面。
test/blob/32af68387072a690ebce18b29c973330ac2497b4/img/slimerjs/google.com-240px.png
我用这个脚本做了一个截图
var page = require('webpage').create();
page.settings.userAgent = 'Mozilla/5.0 (X11; Linux x86_64) Gecko/20100101 Firefox/36.0';
page.open('https://www.facebook.com/', function (status) {
page.viewportSize = { width:240, height:768 };
page.render('img.png');
page.close();
slimer.exit();
});把它叫做$ ./slimerjs slimer_screen.js --ssl-protocol=any
如何获取facebook页面的完整快照?
发布于 2015-03-26 19:36:09
我找到了解决办法。在打开页面之前,必须为浏览器指定本机解析。
var page = require('webpage').create();
page.viewportSize = { width:1024, height:768 };
page.settings.userAgent = 'Mozilla/5.0 (X11; Linux x86_64) Gecko/20100101 Firefox/36.0';
page.open('https://www.facebook.com/', function (status) {
page.viewportSize = { width:240, height:768 };
page.render('img.png');
page.close();
slimer.exit();
});所以线上的page.viewportSize = { width:1024, height:768 };解决方案
https://stackoverflow.com/questions/29280104
复制相似问题