CasperJS 错误——它们在哪里?
Posted
技术标签:
【中文标题】CasperJS 错误——它们在哪里?【英文标题】:CasperJS errors - where are they? 【发布时间】: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
或类似的东西
【参考方案1】:
PhantomJS 2.x 引入了一个错误,该错误会阻止打印 some 错误。以下是一些相关的 GitHub 问题:#12973、#13741、#14399。该错误在当前可用的 2.1.1 版本中仍然存在,但有一个可用的补丁程序(请参阅我链接到的第一个问题末尾的 commit)。
由于 CasperJS 是建立在 PhantomJS 之上的,所以它有同样的限制。
PhantomJS 和 CasperJS 默认不会显示很多错误,因此您必须注册到 resource.error
、page.error
、remote.message
和 casper.page.onResourceTimeout
事件 (Example) 才能查看更多信息。
【讨论】:
不,它对我不起作用。如果我将它们放在函数内部而不是外部,则会引发错误,就像在我的示例中一样。 如我所说。这是一个 PhantomJS 错误。除了用我链接到的那个补丁构建你自己的 PhantomJS 补丁版本之外,你无能为力。或者你可以降级到 PhantomJS 1.x。以上是关于CasperJS 错误——它们在哪里?的主要内容,如果未能解决你的问题,请参考以下文章