使用phantomjs屏幕捕获渲染SVG元素时出现问题

时间:2015-04-28 10:57:59

标签: javascript svg phantomjs

我正在使用phantomjs捕获我的网页屏幕。我的页面上有SVG元素,有时它没有正确呈现这些元素。

var page = require('webpage').create(); 
var args = require('system').args;

var isLoad = false;

page.settings.userAgent = "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90";
var w = parseFloat(args[4]);
var h = parseFloat(args[5]);
page.viewportSize = { width: w, height: h };
page.open('http://www.facegift.co.il/canvas/?userItemId=' + args[1] + '&Sc=' + args[2] + '&print=' + args[6] + '&width=' + args[4] + '&pageNum=' + args[3] + '&ver=' + args[7], function(status) { 
    var ue = page.evaluate(function(){
        return navigator.userAgent;
    });

    console.log("status: " + status);

    if(status === "success") {
       setInterval(function(){
        var ps =  page.evaluate(function() {
            document.body.bgColor = 'white';
            return document.getElementById("pageStatus").innerHTML;
        });


        if(!isLoad){
            console.log("wait...");
            if(ps == "loaded"){
              console.log("loaded");
              isLoad = true;
              page.render('example1.jpg'); 
              console.log("rendered");
              phantom.exit();
            }
        }   
    }, 100);
} 
});

以下是相同请求的两个结果示例:

good request bad request

此处是指向我要呈现的实际网页的链接:

http://www.facegift.co.il/canvas/?userItemId=17887&sc=987404&print=1&width=4000&pageNum=7

调用我使用的幻像:

phantomjs facegift.js 17887 987404 7 4000 2048.77 1 2335

1 个答案:

答案 0 :(得分:0)

好的,修好了。问题出在我的代码中。 感谢@Paul LeBeau回答了我的下一个相关问题。 SVG disappear when zoom in on chrome

phantomjs和chrome很棒。抱歉,我认为代表他们出了问题。