javascript - 在 PhantomJS 中截屏移动网站

标签 javascript phantomjs

我正在使用此脚本以 iPhone 的尺寸截取我想要的移动网站的屏幕截图:

var system = require('system');
var args = system.args;

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

page.open(args[1], function () {

    page.viewportSize = { width: 414, height: 736 };

    page.clipRect = { top: 0, left: 0, width: 414, height: 736 };
    page.render(args[2]);
    console.log(args[2]);
    phantom.exit();
});

在某些网站上,这似乎有效,但在其他网站上,它错误地显示了它的实际外观。

例如,以下是它为 Google 生成的内容:

enter image description here

Google 显然有一个移动网站,那么我哪里出错了?

最佳答案

它与 UserAgent 有关

有关如何设置的信息:http://phantomjs.org/api/webpage/property/settings.html

这段代码对我有用:

var system = require('system');
var args = system.args;

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

page.settings.userAgent = 'Mozilla/5.0 (Linux; U; Android 4.0.3; ko-kr; LG-L160L Build/IML74K) AppleWebkit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30';

page.open("http://www.google.com", function () {

    page.viewportSize = { width: 414, height: 736 };

    page.clipRect = { top: 0, left: 0, width: 414, height: 736 };
    page.render("./test.jpg");

    phantom.exit();
});

关于javascript - 在 PhantomJS 中截屏移动网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42478979/

相关文章:

javascript - 如何清除 Inquirer.js 中的错误输入

javascript - 是否有媒体查询类型的方式来根据设备切换 js 文件?

javascript - 移动浏览器上的 HTML5 输入日期默认值行为

python - 如何使用 Selenium 从搜索结果中提取 Google 链接的 href?

javascript - 遍历 url 来做同样的事情

javascript - 在 Three.js 中用灯光跟随鼠标位置

javascript - Angular Material VS Materializecss

javascript - 如何在 Jquery 和 PhantomJS 中选择 Javascript 生成的字段?

javascript - phantomJS如何从页面加载后开始的JS脚本获取答案

javascript - 类型错误 : Undefined is not a constuctor (evaluating 'selectList.append(options)' )