Phantomjs page.onConsoleMessage 不记录警告
Posted
技术标签:
【中文标题】Phantomjs page.onConsoleMessage 不记录警告【英文标题】:Phantomjs page.onConsoleMessage doesn't log warnings 【发布时间】:2013-01-27 03:27:30 【问题描述】:我正在使用 Phantomjs 通过挂钩控制台消息来检测页面上的错误/警告:
page.onConsoleMessage = function(msg, line, source)
console.log(msg);
page.open(page.address, function (status)
if (status !== 'success')
console.log('Fail to load the address');
else
for(var i=0;i<page.errors.length;i++)
console.log(page.errors[i]);
phantom.exit();
);
它可以很好地处理错误,但它不会记录警告。我所说的错误和警告是指 Chrome 控制台以红色/黄色显示的内容。
有没有办法在 PhantomJS 中做到这一点,还是依赖于浏览器?
编辑:更新代码
【问题讨论】:
这个:page.errors[] = 'page logs' + source + ':' + line + ' - ' + msg;不是有效的 javascript AFAIK。 对不起,其实我用的是console.log(msg),不是page.errors[] .. 只是猜测,但您正在迭代 page.errors。您是否尝试过 page.warnings?全面披露:我对 phantomjs 一无所知 【参考方案1】:因此,经过多次研究,错误/警告似乎取决于浏览器(确切地说是 JS 引擎)。
【讨论】:
以上是关于Phantomjs page.onConsoleMessage 不记录警告的主要内容,如果未能解决你的问题,请参考以下文章