使用JavaScript错误强制执行PhantomJS

时间:2015-03-09 07:21:51

标签: javascript phantomjs

我有一个第三方脚本在控制台中抛出错误消息。网页在浏览器中呈现正常并且功能正常。但是,当我使用PhantomJS测试网页时,脚本会在到达页面错误时停止执行。

所以我想知道是否有任何方法可以强制PhantomJS继续执行,即使页面上有错误。

1 个答案:

答案 0 :(得分:0)

PhantomJS因过时的WebKit版本(至少是2.0之前的版本)而臭名昭着,所以像Function#bind这样的东西可能无效。所以很可能你的脚本因为这个旧的WebKit版本而破坏,所以没有真正的标志你可以切换来修复它。

首先尝试使用最新版本的PhantomJS。如果这不起作用,那么您可以做的最好的事情是在PhantomJS脚本中启用错误日志记录,手动运行它然后尝试修复错误。

以下是一些有关如何在PhantomJS脚本中获取JavaScript错误消息和堆栈跟踪的示例代码。

page.onError = function (msg, trace) {
 console.log(msg);
 trace.forEach(function(item) {
   console.log('  ', item.file, ':', item.line);
 });
};