使用 phantomjs 的屏幕截图并不像在浏览器中看到的那样准确

screen shot with phantomjs is not accurate as its seeing in browser

您好,我正在使用 PhantomJs 从 url 捕获屏幕。但是好像结果不准确。

PhantomJS 版本:1.9.8,操作系统:Ubuntu14

使用下面的代码,我尝试从 url 捕获屏幕,但它似乎没有提供完美的屏幕截图。 还是我做错了什么?

查看本网站的 header 部分和屏幕截图..两者并不相似。

结果屏幕截图:http://www.awesomescreenshot.com/image/2275399/7cf995d2e287cb87c4ca4895b6b69934

我要捕获的网站:http://www.whiteboardexplainers.com/

var system = require("system");
if (system.args.length > 0) {
    var page = require('webpage').create();
    page.viewportSize = {width: 1280, height: 1024};
    page.open(system.args[1], function() {
        var pageTitle = system.args[1].replace(/http.*\/\//g, "").replace("www.", "").split("/")[0]
        var filePath = "pageTitle + '.png';

        window.setTimeout(function () {
            page.evaluate(function() {
                document.body.bgColor = 'white';
            });  
            page.render(filePath);
            console.log(filePath);
            phantom.exit();
        }, 200);

    });
}

您使用的 PhantomJS 版本非常过时。考虑到这一点,截图看起来非常好。升级到现代 PhantomJS 版本:2.1.1 或更好的 2.5 beta。在此处获取它们:PhantomJS downloads archive.

但是现在的版本也不支持放映视频,反正也不行。

在你的情况下,它似乎不相关但通常是:建议 declare a useragent string 现代浏览器。否则,许多网站会显示其网页的移动版本。