编程语言
首页 > 编程语言> > javascript – CasperJS截图只是页面的一小部分

javascript – CasperJS截图只是页面的一小部分

作者:互联网

captureSelector()的CasperJS文档没有说明如何设置屏幕截图的大小.默认情况下(至少在我的系统上使用webkit,Windows 8)似乎是截取页面左上角的一个小屏幕截图.

我在找错了地方吗?

我发现viewportSize.我认为这是我需要的,但有没有人有代码可以将其设置为合理的默认值(如100%)?

FYI this.viewport(‘100%’,’100%’);只是挂起,所以我认为它不需要%.

我是否必须注入将窗口宽度和高度返回到页面中的代码并将其传回以提取它或者是否有更简单的方法?

解决方法:

casper.captureSelector()应该截取您选择的元素的屏幕截图.如果你想截取整个页面的截图,你需要使用casper.capture().

请注意,PhantomJS的默认viewportSize为400×300.某些页面未正确调整大小,因此页面的一部分不可见.你需要将它设置为类似于桌面的东西:

var casper = require('casper').create({
    viewportSize: {width: 1280, height: 800}
});

没有办法让它100%.您可以做的是读出页面正文的宽度,并相应地设置视口到casper.viewport().

var width = 1280;
casper.start(url, function(){
    width = this.evaluate(function(){
        return document.body.clientWidth;
    });
}).viewport(width, 800).then(function(){
    this.capture("screenshot.png");
}).run();

标签:javascript,casperjs
来源: https://codeday.me/bug/20190612/1223176.html