用phantomjs渲染javascript网页

时间:2013-02-28 16:45:02

标签: javascript phantomjs javascript-engine

我正在尝试使用phantomjs从网站呈现javascript评估的源代码。但每次我尝试我只获得源代码(类似于浏览器的视图源)。我真正想要的是javascript评估代码(我们从google chrome浏览器的inspect元素中看到的)。我的代码如下所示:

var page = require('webpage').create();
page.open('http://www.google.com/', function (s) {
    console.log(page.content);
    phantom.exit();
});

我在这里做错了吗?

2 个答案:

答案 0 :(得分:4)

这对我有用:

window.setTimeout(function () {
        page.render(output);
        phantom.exit();
    }, 1000);

答案 1 :(得分:3)

可能是的。在许多情况下,网页上的JavaScript代码不会立即执行。您可以通过稍微延迟来考虑这一点,例如:在获取page.content的值之前使用setTimeout。