CasperJS with Recursion (Using Stack)

function getUrlArr(){
  return urlArray;
}

function recursionFunction(){
  while(){
    var url = Stack.pop();
  }

  if(){
    casper.thenOpen(url, function() {
      output(Information);
    }
    if(Stack.lenght > 0){
      // Recursion
      recursionFunction();
    }
  }else{
    output(Information);
    casper.thenOpen(currentUrl, function() {
      var urlArray = this.evaluate(getUrlArr);
      this.each(urlArray, function(self, url) {
        Stack.push(url);
      });
      if(Stack.lenght > 0){
        // Recursion
        recursionFunction();
      }
    });
  }
}

(function() {
  // Declare Stack, IMPORTANT, there is no 'var'
  Stack = [];

  // Init CasperJS
  casper = require('casper').create({});
  casper.start(urlLogin, function() {
  });

  // Init Stack and Start Recursion, and function in recursion CAN USE Stack
  Stack.push(url);
  recursionFunction();

  // Ending
  casper.run(function() {
    this.echo("Finished running ...");
    return this.exit();
  });
}).call(this);
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容