为什么我的phantomjs脚本输出没有截图(命令行参数版本)

时间:2016-09-07 12:27:36

标签: javascript phantomjs

我在这里修改了基本的phantomjs示例http://phantomjs.org/screen-capture.html以接受命令行参数。

当我传递http://google.com作为参数时,console.log输出是正确的

  

0:index.js

     

1:http://google.com

但我的文件夹中没有任何thumbnail.png为什么?

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

    var system = require('system');
    var args = system.args;

    var url;

    if (args.length === 1) {
      url = 'http://github.com/';
    } else {
      args.forEach(function(arg, i) {
        console.log(i + ': ' + arg);

        if (i > 0) {
          page.open(arg, function() {

              page.render('thumbnail' + '.png');


          });
        }

      });
    }

    phantom.exit();

1 个答案:

答案 0 :(得分:2)

page.open是一个异步函数,因此在回调之前调用phantom.exit来呈现缩略图。

按照文档

中的说明在回调中移动phantom.exit
var page = require('webpage').create();
  page.open('http://github.com/', function() {
  page.render('github.png');
  phantom.exit();
});