viewportSize似乎不能与PhantomJS一起工作[英] viewportSize seems not to work with PhantomJS

问题描述

这个 PhantomJS 脚本的输出不应该是 240x320 像素吗?我得到一个大的、默认大小的图像.clipRect() 似乎可以呈现正确大小的图像,但我需要页面的响应内容来反映实际的浏览器窗口大小.

var page = require('webpage').create();

page.viewportSize = { width: 240, height: 320 };  

page.open('http://cnn.com', function (status) {

    if (status !== 'success') {
        console.log('Unable to load the address!');
    } else {
        window.setTimeout(function () {
            page.render('default.png');
            phantom.exit();
        }, 200);
    }

});

推荐答案

这是一个已知问题,但我找到了解决方法:

  1. 将页面加载到您喜欢的任意大小的 iframe 中.
  2. 渲染截取到 iframe 矩形的屏幕截图.

此存储库中有代码:https://github.com/jbeuckm/Splasher

本文地址:https://www.itbaoku.cn/post/1739873.html