捕获和处理CasperError

arc*_*rty 5 casperjs

使用CasperJS如何捕获和处理CasperError?

默认似乎继续执行程序(除了传播错误之外什么都不做).

这些错误记录到控制台/标准输出,但我似乎没有看到(从文档)捕获和处理这些错误的方法.

例:

this.fillSelectors(selector, data);
Run Code Online (Sandbox Code Playgroud)

可能产生:

CasperError:填充表单时遇到错误:找不到表单

我知道在调用之前我可以检查以确保一切都存在,但有没有办法在事后捕获?(这适用于许多其他操作,例如casper.click)

Top*_*lis 6

我使用目前这样的东西:

casper.on('error', function(msg,backtrace) {
  this.capture('./out/error.png');
  throw new ErrorFunc("fatal","error","filename",backtrace,msg);
});
Run Code Online (Sandbox Code Playgroud)

然后我有一个自定义函数ErrorFunc来处理任何警告或致命错误的数组.

如果你有一个不成功的点击它应该抛出casper.on('error').因此,您可以将自定义代码放在那里以了解您希望如何处理错误.

这是Casper活动文档.