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 不记录警告的主要内容,如果未能解决你的问题,请参考以下文章

phantomjs:如何在phantomjs中使用npm模块?

PhantomJS简介

phantomjs的安装和使用链接

安装PhantomJS

PhantomJS

ubuntu phantomjs安装(PhantomJS崩溃可以按这个重装解决)