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/