我有一个第三方脚本在控制台中抛出错误消息。网页在浏览器中呈现正常并且功能正常。但是,当我使用PhantomJS测试网页时,脚本会在到达页面错误时停止执行。
所以我想知道是否有任何方法可以强制PhantomJS继续执行,即使页面上有错误。
答案 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);
});
};