2016-08-24 3 views
0

Почему CasperJS не показывает ошибки JS? У меня есть код:Ошибки CasperJS - где они?

var casper = require('casper').create(); 
casper.start('http://casperjs.org/'); 
casper.then(function() { 
    this.echo('First Page: ' + this.getTitle()); 
}); 
var a=null; 
console.log(a.b.c); 
casper.run(); 

я запустить его с casperjs sample.js, но не вижу никакого предупреждения о a.b.c, он просто останавливает выполнение и это все. Можно ли увидеть ошибки, которые создает мой скрипт где угодно?

+0

'var a = null' не имеет никакого смысла, может быть,' var a = {b: 9} 'или что-то подобное – Joe

ответ

0

PhantomJS 2.x добавил ошибку, которая предотвращает печать ошибок. Вот некоторые связанные вопросы GitHub: #12973, #13741, #14399. Ошибка все еще сохраняется в текущей версии 2.1.1, но есть доступный патч (см. commit в конце первой проблемы, с которой я связан).

Поскольку CasperJS построен поверх PhantomJS, он имеет такое же ограничение.


PhantomJS и CasperJS не показывают много ошибок по умолчанию, так что вы должны зарегистрироваться на resource.error, page.error, remote.message и casper.page.onResourceTimeout событий (Example), чтобы увидеть больше.

+0

Нет, это не сработало для меня. Он выдает ошибки, если у меня есть внутри функций, но не снаружи, как в моем примере. – shal

+0

Как я уже говорил. Это ошибка PhantomJS. Вы ничего не можете сделать, кроме того, что создали собственную исправленную версию PhantomJS с этим патчем, к которому я привязался. Или вы можете перейти на PhantomJS 1.x. –