CasperJs 捕获错误
CasperJs catch error
我不明白如何在 CasperJs 上捕获错误
我有这个代码
casper.thenClick('#activeCartViewForm > a');
有时 return 我 :
[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);
});
它为我提供了一个从未见过的错误并停止了我的 phantomjs :
[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.thenClick('#activeCartViewForm > a');
有时 return 我 :
[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);
});
它为我提供了一个从未见过的错误并停止了我的 phantomjs :
[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();