CasperJS 错误 - 它们在哪里?

CasperJS errors - where are they?

提问人:shal 提问时间:8/24/2016 最后编辑:Artjom B.shal 更新时间:8/25/2016 访问量:321

问:

为什么 CasperJS 不显示 JS 错误?我有一个代码:

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.jsa.b.c

JavaScript PhantomJS CasperJS 错误报告

评论

0赞 Joe 8/25/2016
var a = null也许没有任何意义或类似的东西var a = { b: 9 }

答:

0赞 Artjom B. 8/25/2016 #1

PhantomJS 2.x 引入了一个错误,该错误会阻止打印某些错误。以下是一些相关的 GitHub 问题:#12973、#13741、#14399该错误在当前可用的版本 2.1.1 中仍然存在,但有一个可用的补丁(请参阅我链接到的第一个问题末尾的提交)。

由于 CasperJS 是建立在 PhantomJS 之上的,因此它有相同的限制。


默认情况下,PhantomJS 和 CasperJS 不会显示很多错误,因此您必须注册到 、 和 事件(示例)才能查看更多信息。resource.errorpage.errorremote.messagecasper.page.onResourceTimeout

评论

0赞 shal 8/25/2016
不,它对我不起作用。如果我在函数内部有错误,而不是在函数外部,它会抛出错误,就像我的例子一样。
0赞 Artjom B. 8/27/2016
正如我所说。这是一个 PhantomJS 错误。除了使用我链接到的补丁构建自己的 PhantomJS 补丁版本外,您无能为力。或者您可以降级到 PhantomJS 1.x。