CasperJS脚本永远不会退出

我的CasperJS脚本永远不会停止执行。

var casper = require('casper').create(); casper.userAgent('Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36'); casper.start('https://www.google.co.in/',function(){ casper.wait(3000,function(){ this.echo(this.getTitle()); }); }); casper.run(); 

它看起来好像CasperJS从不退出。 这只是Windows上的一个问题。 你可能会看到这样的事情:

 C:\> casperjs script.js C:\> Some script output More script output _ 

它与CasperJS的安装和调用有关。 这通常发生在你安装了类似cygwin的东西,然后通过NPM安装CasperJS。 NPM会检测到你有cygwin并创建一个特殊的批处理文件来启动CasperJS。 如何处理整个情况有一个bug,但不影响CasperJS的功能。

如果按Enter,则会再次看到提示:

 C:\> casperjs script.js C:\> Some script output More script output C:\> _ 

如果你在GitHub的master分支上使用CasperJS,你会得到一个正确的exe文件,这个文件在没有这些问题的情况下执行。 请参阅从git安装 。 这样做的好处是您现在可以使用PhantomJS 2,因为目前版本1.1-beta3是不可能的。

尝试添加退出你运行的方法。

 casper.run(function() { this.exit(); });