【问题标题】:CasperJS errors - where are they?CasperJS 错误——它们在哪里?
【发布时间】:2016-12-31 18:34:53
【问题描述】:

为什么 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 的警告,它只是停止执行,仅此而已。是否可以在任何地方看到我的脚本产生的错误?

【问题讨论】:

  • var a = null 没有任何意义可能是var a = { b: 9 } 或类似的东西

标签: javascript phantomjs casperjs error-reporting


【解决方案1】:

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

由于 CasperJS 是建立在 PhantomJS 之上的,所以它有同样的限制。


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

【讨论】:

  • 不,它对我不起作用。如果我将它们放在函数内部而不是外部,则会引发错误,就像在我的示例中一样。
  • 如我所说。这是一个 PhantomJS 错误。除了用我链接到的那个补丁构建你自己的 PhantomJS 补丁版本之外,你无能为力。或者你可以降级到 PhantomJS 1.x。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-09
  • 2015-02-25
  • 2013-06-28
  • 1970-01-01
  • 2014-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多