2015-04-01 138 views
3

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

回答

5

它看起來好像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:\> _ 

如果你會使用CasperJS從GitHub上的主分支,你會得到它的執行沒有這些問題的正確的exe文件。請參閱Installing from git。這樣做的好處是您現在可以使用PhantomJS 2,因爲目前版本1.1-beta3無法使用PhantomJS 2。

+1

不是cygwin,而是使用BASH。我認爲我的風格有問題,或者我錯過了一些東西。感謝您的描述性答覆。 – Kunal0615 2015-04-02 06:37:31

0

嘗試在你的run方法中添加exit。

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

這不起作用我已經試過這.... – Kunal0615 2015-05-29 09:16:19