CasperJS:退出不工作

时间:2016-07-01 07:47:21

标签: phantomjs casperjs

尝试通过casperJS start方法打开随机页面,但是有些页面正在正确加载而其中一些页面没有正确加载,因此在这种情况下它不会退出casperjs。 它被卡在控制台中,然后需要使用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();
    }

});

2 个答案:

答案 0 :(得分:2)

使用全局stepTimeout选项将其换行。

示例代码:

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

casper.start()

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

casper.run()

答案 1 :(得分:0)

请尝试bypass()忽略下一个然后

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.
});