【问题标题】:CasperJS script never exitsCasperJS 脚本永远不会退出
【发布时间】:2015-04-01 13:41:20
【问题描述】:

我的 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();

【问题讨论】:

    标签: windows cmd casperjs


    【解决方案1】:

    它看起来好像 CasperJS 永远不会退出。这只是 Windows 上的问题。你可能会看到这样的东西:

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

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

    如果你按回车,你会再次看到提示:

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

    如果您使用 GitHub 上的 master 分支中的 CasperJS,您将获得一个正确的 exe 文件,该文件可以在没有这些问题的情况下执行。见Installing from git。这样做的好处是您现在可以使用 PhantomJS 2,因为当前版本 1.1-beta3 无法使用。

    【讨论】:

    • 不是 cygwin,而是使用 BASH。我认为我的风格有问题,或者我遗漏了一些东西。感谢您的描述性回答。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-06-09
      • 1970-01-01
      • 2019-09-23
      • 2014-08-04
      • 2012-09-14
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多