2013-10-04 19 views
9

Casperjs tarafından site console.log ve console.error yakalamaya çalışıyorum. console.log durumunda ben çalışan kod var:Casperjs catch konsol.log ve console.error

casper.on('remote.message', function(message) { 
    this.echo('remote message caught: ' + message); 
}); 

Ama console.error yakalamak anlamaya olamaz. Herhangi bir kaynak hatasını yakalamak için buna ihtiyacım var (resimlerde bulunmadığı gibi).

cevap

3

Tamam bu benim kendi soruya cevap vermek garip ama dpashkevich tarafından yayınlanan bir coderwall blogda bir çözüm buldu: parlak

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

+9

Üzgünüz, ancak soruyu cevaplamıyorsanız, bu konsol iletilerini yakalamıyor. – challet

3

Uzak hataları almak için aşağıdaki olay kullanabilirsiniz:

casper.on("resource.error", function(resourceError) { 
    this.echo("Resource error: " + "Error code: "+resourceError.errorCode+" ErrorString: "+resourceError.errorString+" url: "+resourceError.url+" id: "+resourceError.id, "ERROR"); 
}); 

Çekicilik gibi çalışır!

casper.on("page.error", function(msg, trace) { 
    this.echo("Error: " + msg, "ERROR"); 
}); 

sen yakalamak için gereken hataları, bu bir iyi olabilir bağlı: