javascript - PhantomJS 捕获移动浏览器的屏幕截图

标签 javascript phantomjs screenshot

我试图用 PhantomJS 创建一个网络截图,但我得到的图像是移动浏览器。我正在使用 MAC OS 优胜美地。这是我的 JavaScript:

屏幕.js

var WebPage = require('webpage');
page = WebPage.create();
page.open('http://www.apple.com');
page.onLoadFinished = function() {
    window.setTimeout(function () {
        page.render('appleScreenShot' + '.png');
        phantom.exit();
    }, 2000);
}

这是我的命令行代码

phantomjs --ignore-ssl-errors=true --web-security=false --ssl-protocol=tlsv1 --debug=true screen.js

最佳答案

您可能会发现需要指定一个 viewportSize (甚至可能是 zoomFactor)用于某些网站,具体取决于在其资源中指定的媒体查询。

来自viewportSize 的文档:

Because PhantomJS is headless (nothing is shown), viewportSize effectively simulates the size of the window like in a traditional browser.

示例用法:

page.viewportSize = {
    width: 1280,
    height: 800
};
page.zoomFactor = 1; //default value is 1

关于javascript - PhantomJS 捕获移动浏览器的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34100200/

相关文章:

javascript - 在 MongoDB/Meteor 中使用 elemMatch 查找嵌套数组数据

qt - Qt-Window 一小部分的截图

iOS 屏幕捕获和性能

linux - 在 Linux 下以编程方式截取特定窗口的屏幕截图的 "fastest"方法是什么?

javascript - JavaScript 的 2D 引擎

javascript - 如何在 javascript 中对数字进行四舍五入

javascript - 函数覆盖类而不是添加新的

azure - Azure Web 角色启动上的 PhantomJS Webserver exe

java - 如何使用 Selenium 在 PhantomJS 中设置代理身份验证?

java - 如何解析 java.net.SocketPermission