为什么 netsniff.js 会在输出中打印 javascript 错误?

Why does netsniff.js print javascript errors into the output?

我这样使用netsniff.js:

phantomjs --ignore-ssl-errors=true --ssl-protocol=any netsniff.js http://thermex.ru/ > t.out

完成 netsniff 后,我在文本编辑器中打开文件 t.out,我看到了这样的 JS 错误:

TypeError: 'undefined' is not a function (evaluating   '$('.bxslider').bxSlider({
    mode: 'fade',
    preloadImages: 'all',
    slideWidth: 697
})')

http://thermex.ru/:565
http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js:2
http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js:2
http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js:2
http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js:2

出现此错误后,我看到了有效的 HAR 数据。

但是我无法解析这个文件,因为他不包含有效的JSON数据(JS错误+有效的JSON HAR数据=没有有效的JSON数据)。

如何从 netsniff.js 接收此域的有效文件?

您可以注册 page.onError, page.onConsoleMessage and phantom.onError 事件以防止默认操作(在 netsniff.js 中的 page.open 之前):

page.onError = function(){};
page.onConsoleMessage= function(){};
phantom.onError = function(){};