Slimerjs 只拍摄可见区域的快照
Slimerjs takes a snapshot of only the visible area
我正在使用 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 页面快照?
我找到了解决办法。在打开页面之前,您必须指定浏览器的本机分辨率。
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 };
行的解
我正在使用 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 页面快照?
我找到了解决办法。在打开页面之前,您必须指定浏览器的本机分辨率。
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 };