DJJ
DJJ

Reputation: 345

CasperJS: exit not working

Trying to open random pages through casperJS start method but some pages are loading properly and some of them are not, so in this scenario it is not exiting from casperjs. It is getting stuck in console then need to manually exit from console using CTR+C.

casper.start("some url", function() {

    if(this.status().currentHTTPStatus == 200) {
        casper.echo("page is loading");
    } else {
        casper.echo("page is in error ");
        this.exit();
    }

});

Upvotes: 1

Views: 471

Answers (2)

Sayalic
Sayalic

Reputation: 7650

Wrap it by a then step with a global stepTimeout option.

Sample code:

var casper = require('casper').create({
  stepTimeout: 10000 //10s 
})

casper.start()

casper.then(funtion(){
  casper.open(url)
})

casper.run()

Upvotes: 2

Anson
Anson

Reputation: 489

Try bypass() to ignore the next thens.

casper.start("some url", function() {
    if(this.status().currentHTTPStatus == 200) {
        casper.echo("page is loading");
    } else {
        casper.echo("page is in error ");
        this.bypass(2); // Will not execute the then functions.
    }
}).then(function() {
    // The 1st then function.
}).then(function() {
    // The 2nd then function.
})

casper.run(function() {
    this.echo('Something');
    this.exit(); // <--- Here.
});

Upvotes: 0

Related Questions