Javascript Casperjs catch console.log和console.error
我正在尝试通过casperjs捕获site console.log和console.error。对于console.log,我有工作代码:Javascript Casperjs catch console.log和console.error,javascript,casperjs,Javascript,Casperjs,我正在尝试通过casperjs捕获site console.log和console.error。对于console.log,我有工作代码: casper.on('remote.message', function(message) { this.echo('remote message caught: ' + message); }); 但我不知道如何捕捉console.error。我需要这个来捕获任何资源错误(如未找到图像)。好的,回答我自己的问题很奇怪,但我在dpashkevich
casper.on('remote.message', function(message) {
this.echo('remote message caught: ' + message);
});
但我不知道如何捕捉console.error。我需要这个来捕获任何资源错误(如未找到图像)。好的,回答我自己的问题很奇怪,但我在dpashkevich发布的coderwall博客上找到了一个解决方案:
casper.on('resource.received', function(resource) {
var status = resource.status;
if(status >= 400) {
casper.log('Resource ' + resource.url + ' failed to load (' + status + ')', 'error');
resourceErrors.push({
url: resource.url,
status: resource.status
});
}
});
Works brilliant您可以使用以下事件获取远程错误:
casper.on("resource.error", function(resourceError) {
this.echo("Resource error: " + "Error code: "+resourceError.errorCode+" ErrorString: "+resourceError.errorString+" url: "+resourceError.url+" id: "+resourceError.id, "ERROR");
});
工作很有魅力 还有处理程序:
根据需要捕获的错误,此错误可能会更好。抱歉,您没有回答问题,此错误不会捕获控制台消息。
casper.on("page.error", function(msg, trace) {
this.echo("Error: " + msg, "ERROR");
});