从PhantomJS / CasperJS运行单独的nodejs文件

时间:2015-08-24 15:33:34

标签: javascript node.js phantomjs casperjs

我试图从CasperJS执行nodejs脚本。这应该可以从PhantomJS childprocess库中实现。但它似乎并没有为我工作。它没有给出任何错误,但它也没有执行节点脚本。因为该脚本发出推送通知。当我直接从命令运行脚本然后它工作正常。但不是来自我的CasperJS脚本。

var childProc = require("child_process");

var casper = require('casper').create({
    viewportSize: {width: 800, height: 400}
});
var utils = require("utils");

casper.start('http://www.google.com', function() {
    this.echo('Home page opened');
    this.echo(this.getTitle());
    childProc.execFile('C:\\Google Drive\\nodejs\\push.js', [], null, function (err, stdout, stderr){});

    this.exit();
});

任何人都知道我做错了什么?

1 个答案:

答案 0 :(得分:0)

你有两个问题:

  • 您忘记添加执行命令
  • 您退出的时间过早,因为casper.start('http://www.google.com', function() { this.echo('Home page opened'); this.echo(this.getTitle()); childProc.execFile('C:\\Google Drive\\nodejs\\push.js', [], null, function (err, stdout, stderr){ utils.dump(arguments); casper.echo("Exiting..."): casper.exit(); }); }).run(function(){/* This prevents CasperJS from exiting */}); 是异步功能。

尝试:

{{1}}