使用CasperJS如何捕获和处理CasperError?
默认似乎继续执行程序(除了传播错误之外什么都不做)。
这些错误记录在console / stdout中,但我似乎没有看到(从文档中)捕获和处理这些错误的方法。
示例:
this.fillSelectors(selector, data);
可能产生:
CasperError:填写表单时遇到错误:找不到表单
我知道在调用之前我可以检查以确保一切都存在,但有没有办法在事后捕获? (这适用于许多其他操作,如casper.click
)
答案 0 :(得分:6)
我使用的东西是这样的:
casper.on('error', function(msg,backtrace) {
this.capture('./out/error.png');
throw new ErrorFunc("fatal","error","filename",backtrace,msg);
});
然后我有一个自定义函数ErrorFunc
来处理任何警告或致命错误的数组。
如果您点击不成功,则应该抛出casper.on('error')
。因此,您可以在其中放置自定义代码,以便处理错误。
答案 1 :(得分:1)
var casper = require('casper').create({
onError: function(msg, backtrace) {
this.capture('error.png');
throw new ErrorFunc("fatal","error","filename",backtrace,msg);
}
});
这非常有效。 (见http://docs.casperjs.org/en/latest/modules/casper.html#index-1)
答案 2 :(得分:0)
这是谁需要它的完整解决方案^^
@angular/http