Node.js CasperJs捕获错误

Node.js CasperJs捕获错误,node.js,phantomjs,casperjs,Node.js,Phantomjs,Casperjs,我不明白如何在CasperJs上捕捉错误 我有这个密码 casper.thenClick('#activeCartViewForm > a'); 有时它会让我回想起: [error] [remote] mouseEvent(): Couldn't find any element matching '#activeCartViewForm > a' selector 我想捕捉它并this.die(errorMsg)停止我的casperjs 我尝试添加waitForSelecto

我不明白如何在CasperJs上捕捉错误

我有这个密码

casper.thenClick('#activeCartViewForm > a');
有时它会让我回想起:

[error] [remote] mouseEvent(): Couldn't find any element matching '#activeCartViewForm > a' selector 
我想捕捉它并
this.die(errorMsg)
停止我的casperjs

我尝试添加
waitForSelector

casper.waitForSelector('#activeCartViewForm > a', function() {
    this.click('#activeCartViewForm > a');
});
但已经是同样的问题了

当我这么做的时候:

casper.on('step.error', function(err) {
    this.die("Step has failed: " + err);
});
什么也没发生

当我这么做的时候:

casper.on('resource.error', function(err) {
    console.log(err);
    this.die("Step has failed: " + err.errorString);
});
它资助了我一个从未见过的错误,阻止了我的幻影:

[error] [phantom] Error: the remote server closed the connection prematurely 

[error] [phantom] Error: The request has been aborted 

[error] [phantom] Error: The request has been aborted 

[error] [phantom] Error: the remote server closed the connection prematurely 

谢谢

您可以通过以下语句捕获CasperJS中的错误:

casper.on('error', function(msg, trace) {
    // process an error
});
您可以尝试以下工作示例:

var casper = require('casper').create();

casper.on('error', function(msg) {
    this.capture('error.png');
    this.die(msg);
});

casper.start('http://casperjs.org/', function() {
});

casper.thenClick('#activeCartViewForm > a');

casper.run();

您可以通过以下语句捕获CasperJS中的错误:

casper.on('error', function(msg, trace) {
    // process an error
});
您可以尝试以下工作示例:

var casper = require('casper').create();

casper.on('error', function(msg) {
    this.capture('error.png');
    this.die(msg);
});

casper.start('http://casperjs.org/', function() {
});

casper.thenClick('#activeCartViewForm > a');

casper.run();