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