首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Slimerjs只拍摄可见区域的快照。

Slimerjs只拍摄可见区域的快照。
EN

Stack Overflow用户
提问于 2015-03-26 13:45:36
回答 1查看 352关注 0票数 0

我正在使用slimerjs进行屏幕截图,如果您指定的宽度小于页面的最小宽度,则会裁剪到可见区域。

这种情况只发生在Facebook上。

test/blob/32af68387072a690ebce18b29c973330ac2497b4/img/slimerjs/www.facebook.com-240px.png

但是在其他网站上(比如谷歌),则呈现所有页面。

test/blob/32af68387072a690ebce18b29c973330ac2497b4/img/slimerjs/google.com-240px.png

我用这个脚本做了一个截图

代码语言:javascript
复制
    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页面的完整快照?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-26 19:36:09

我找到了解决办法。在打开页面之前,必须为浏览器指定本机解析。

代码语言:javascript
复制
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 };解决方案

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29280104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档