6

我正在尝试使用 phantomjs 从网站呈现 javascript 评估的源代码。但是每次我尝试时,我都只能按原样获取源代码(类似于从浏览器查看源代码)。我真正想要的是 javascript 评估代码(我们从谷歌浏览器的检查元素中看到的)。我的代码如下所示:

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

我在这里做错了吗?

4

2 回答 2

5

这对我有用:

window.setTimeout(function () {
        page.render(output);
        phantom.exit();
    }, 1000);
于 2013-05-22T03:48:02.130 回答
3

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

于 2013-03-02T07:32:42.780 回答