title: Loop for casper.start only executed once
body: <p>I got the following script to loop through a page's options to fetch subsequent values:</p>
  
  <pre><code>var casper = require('casper').create();
  casper.on('remote.message', function (message) {
      this.echo(message);
  });
  casper.on( 'page.error', function (msg, trace) {
      this.echo( 'Error: ' + msg, 'ERROR' );
  });
  casper.start(url, function() {
      this.evaluate(function() {
          // nothing
      });
      this.then(function() {
          ddlArea_options = this.getElementsAttribute('#ddlArea option', 'value');
          for(var i = 0; i &lt; ddlArea_options.length; i++) {
              if(ddlArea_options[i] != '') {
                  this.echo(ddlArea_options[i]);
                  startQuery('myID', ddlArea_options[i]);
              }
          }
      });
  });
  </code></pre>
  
  <p>where <code>startQuery(id, val)</code> is a function contains <code>casper.start()</code>:</p>
  
  <pre><code>function startQuery(id, val) {
      casper.start(url, function() {
          this.echo('startQuery started');
          var obj = {};
          obj['#' + id] = val;
          this.fillSelectors('#form1', obj, true);
          this.evaluate(function() {
              __doPostBack('ddlArea', '');
          });
          this.then(function() {
              this.echo("doPostback complete");
              var values = this.getElementsAttribute('#anotherSelect option', 'value');
              for(var i = 0; i &lt; values.length; i++) {
                  this.echo(values[i]);
              }
          });
      });
      casper.run();
  }
  </code></pre>
  
  <p>but <code>startQuery()</code> is executed once only, on the last item in for-loop. What did I miss?</p>