phantomjs-node渲染空白截图

时间:2015-12-11 06:57:33

标签: javascript node.js svg phantomjs

我正在尝试使用phantomjs-node运行幻像脚本。正确调用该函数文件'schemas.png'正确下载,但它是空白的。这就像幻影无法在页面上找到任何东西,因为我尝试将它应该捕获的元素的id传递给getElementBounds函数并且它返回为未定义,所以我在clipRect边界中硬编码只是为了测试出来。是否有一个我缺少的步骤,比如等待页面加载还是什么? (顺便说一下,我在我的本地主机上测试这个)。 这是我的完整代码:

phantom.create(function (ph) {
      ph.createPage(function (page) {
        page.viewportSize = {
          width: 1600,
          height: 1200
        };
        page.open(pageUrl, function (status) {
            setTimeout(function () {
              // var clipRect = module.exports.getElementBounds(page, 'designer');
              var clipRect;
              var getElementBounds = function (id) {
                return page.evaluate(function (id) {
                  clipRect = document.getElementById('designer').getBoundingClientRect();
                  return {
                    top: clipRect.top,
                    left: clipRect.left,
                    width: clipRect.width,
                    height: clipRect.height
                  };
                }, id);
              };
              // page.clipRect = getElementBounds('designer');
              page.clipRect = {
                bottom: 421.81817626953125,
                height: 350,
                left: 0,
                right: 640,
                top: 71.81817626953125,
                width: 640
              };
              console.log("Capturing designer");
              page.render('schemas.png');
              ph.exit();
            }, 100);
        });
      });
    });

0 个答案:

没有答案