提问人:shal 提问时间:8/24/2016 最后编辑:Artjom B.shal 更新时间:8/25/2016 访问量:321
CasperJS 错误 - 它们在哪里?
CasperJS errors - where are they?
问:
为什么 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.js
a.b.c
答:
0赞
Artjom B.
8/25/2016
#1
PhantomJS 2.x 引入了一个错误,该错误会阻止打印某些错误。以下是一些相关的 GitHub 问题:#12973、#13741、#14399。 该错误在当前可用的版本 2.1.1 中仍然存在,但有一个可用的补丁(请参阅我链接到的第一个问题末尾的提交)。
由于 CasperJS 是建立在 PhantomJS 之上的,因此它有相同的限制。
默认情况下,PhantomJS 和 CasperJS 不会显示很多错误,因此您必须注册到 、 和 事件(示例)才能查看更多信息。resource.error
page.error
remote.message
casper.page.onResourceTimeout
评论
0赞
shal
8/25/2016
不,它对我不起作用。如果我在函数内部有错误,而不是在函数外部,它会抛出错误,就像我的例子一样。
0赞
Artjom B.
8/27/2016
正如我所说。这是一个 PhantomJS 错误。除了使用我链接到的补丁构建自己的 PhantomJS 补丁版本外,您无能为力。或者您可以降级到 PhantomJS 1.x。
评论
var a = null
也许没有任何意义或类似的东西var a = { b: 9 }