我正在使用此脚本来截取我想成为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生成的内容:

javascript - 在PhantomJS中截屏移动网站-LMLPHP

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/

10-09 22:47