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.errorpage.errorremote.messagecasper.page.onResourceTimeout 事件 (Example) 才能查看更多信息。

【讨论】:

不,它对我不起作用。如果我将它们放在函数内部而不是外部,则会引发错误,就像在我的示例中一样。 如我所说。这是一个 PhantomJS 错误。除了用我链接到的那个补丁构建你自己的 PhantomJS 补丁版本之外,你无能为力。或者你可以降级到 PhantomJS 1.x。

以上是关于CasperJS 错误——它们在哪里?的主要内容,如果未能解决你的问题,请参考以下文章

casperjs批量执行多个url

CasperJS:在代码中配置代理选项

Casper PHP扩展 - 安装过程中的错误

如何在CasperJS中完成评估步骤?

windows10 phantomjs CasperJS安装和使用

casperjs模拟登录-驾校登录