【问题标题】:Rendering a javascript webpage page with phantomjs使用 phantomjs 渲染一个 javascript 网页页面
【发布时间】:2013-02-28 16:45:01
【问题描述】:

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

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

我在这里做错了吗?

【问题讨论】:

    标签: javascript phantomjs javascript-engine


    【解决方案1】:

    这对我有用:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 有什么建议吗?任何小的示例代码都会有所帮助,也许你是对的,有些网站确实会生成 javascript 内容,但大多数情况下它们不会。单击并加载后也无法产生结果。在这方面的任何帮助都非常感谢!感谢回复
      猜你喜欢
      • 2014-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-15
      • 1970-01-01
      • 2018-04-28
      • 1970-01-01
      相关资源
      最近更新 更多