使用CasperJS如何捕获和处理CasperError?
默认似乎继续执行程序(除了传播错误之外什么都不做).
这些错误记录到控制台/标准输出,但我似乎没有看到(从文档)捕获和处理这些错误的方法.
例:
this.fillSelectors(selector, data);
Run Code Online (Sandbox Code Playgroud)
可能产生:
CasperError:填充表单时遇到错误:找不到表单
我知道在调用之前我可以检查以确保一切都存在,但有没有办法在事后捕获?(这适用于许多其他操作,例如casper.click)
我使用目前这样的东西:
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').因此,您可以将自定义代码放在那里以了解您希望如何处理错误.