使用phantomjs进行屏幕截图并不准确,因为它在浏览器中看到了

时间:2017-03-09 06:59:26

标签: javascript jquery phantomjs php-phantomjs

您好我正在使用PhantomJs从网址捕获屏幕。但似乎结果不准确。

版本的PhantomJS:1.9.8,操作系统:Ubuntu 14

使用以下代码我试图从网址捕获屏幕但似乎它没有给出完美的屏幕截图.. 或者我做错了什么?

请参阅本网站的标题部分和屏幕截图。两者不相似。

结果截图: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);

    });
}

1 个答案:

答案 0 :(得分:2)

您使用的是非常过时的PhantomJS版本。考虑到这一点,screnshot看起来非常好。升级到现代PhantomJS版本:2.1.1甚至更好2.5 beta。在这里获取它们:PhantomJS downloads archive

但即使是现代版本也不支持显示视频,因此无论如何都无法使用。

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