我正在使用slimerjs进行屏幕截图,如果您指定的宽度小于页面的最小宽度 - 则切割到可见区域。
这只发生在Facebook上。
但在其他网站(例如Google)上渲染所有网页。
我使用此脚本制作屏幕截图
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页面的快照?
答案 0 :(得分:1)
我找到了解决方案。在打开页面之前,您必须为浏览器指定原始分辨率。
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 };