在PhantomJS中循环创建页面对象

时间:2015-03-29 00:08:37

标签: javascript phantomjs

我正在使用PhantomJS来检索许多不同URL的HTML。为此,我正在迭代一系列URL并尝试创建PhantomJS页面对象(文档here)。

出于某种原因, page.open 块中的 console.log 未触发。有谁知道为什么?我在Google或Stack Overflow或PhantomJS文档中找不到类似的问题。

代码:

for(var i = 0; i < urlList.length; i++) {
    urlToRequest = urlList[i];
    var page = require('webpage').create();
    page.open(urlToRequest, function (status) {
        console.log("Status code: ", status);
        phantom.exit()
    });
}

1 个答案:

答案 0 :(得分:1)

默认情况下,禁止从页面输出console.log。要打印它,请为页面对象定义一个onConsoleMessage处理程序,如下所示,它将打印出来。

page.onConsoleMessage = function (msg, lineNum, sourceId) {
     console.log(msg);
};