javascript - 使用 Phantom.js 评估,如何获取页面的 HTML?

标签 javascript html node.js backbone.js phantomjs

page.evaluate(function() { return document; }, function(result){    
    console.log(result)                    
    next();
});

result其实是一个巨大的对象。我不知道那个对象的特性和属性。我只想要页面的 HTML 就像您在 Chrome 检查器中看到的那样

从对象的外观来看,HTML 似乎包含 CSS 和 javascript..这很奇怪。用户不应该看到 CSS 和 javascript,因为它们不是网页的 HTML。那些是外部文件。我只想要用户会看到的 HTML。

最佳答案

文档 的类型是 HTML 文档。要以字符串形式获取整个 DOM,您可以执行 document.documentElement.outerHTML

evaluate 之外,您可以使用page.content。它是一个字符串。

我不知道“HTML 包括 CSS 和 JavaScript”或“网页的 HTML”是什么意思。您指的是页面源代码和通过脚本修改的 DOM 之间的区别吗?以上两者都为您提供了当前的 DOM,而不是原始页面源。

关于javascript - 使用 Phantom.js 评估,如何获取页面的 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706777/

相关文章:

javascript - fs.readFileSync 引用错误 : fileContents is not defined

javascript - 无法登录,类型错误 : Cannot read property 'id' of null

javascript - 具有多个客户端平台的应用程序服务器 API 的 session 设计

html - 对齐 &lt;input&gt; 和 <button> 标签

php - 我可以将 html 表格制作成图像以嵌入到 pdf 中吗

javascript - li 不显示在 ul 中

javascript - lodash分配键值对

javascript - Raphael js在具有指定类的所有元素中绘制圆圈

javascript - 如何使用 Firefox 插件构建弹出窗口?

javascript - 尝试在 Google Map V3 中绘制超过 10 个标记,而不使用地理编码