无论如何都可以获得任何网站的完整呈现的 HTML 代码(包括 JavaScript 代码)?

Posted

技术标签:

【中文标题】无论如何都可以获得任何网站的完整呈现的 HTML 代码(包括 JavaScript 代码)?【英文标题】:Is there anyway to get full rendered HTML code of any website (with JavaScript code included)? 【发布时间】:2021-01-27 22:35:07 【问题描述】:

我们有什么方法可以获取网站的完整 html 源代码,其中还包含 javascript 代码(从 3rd 方获取)?

我知道我们可以使用document.getElementsByTagName('html')[0].innerHTML,但它不会在 HTML 代码中包含第 3 方 JS?

这个问题的原因(根据我的知识)是当浏览器渲染和创建 DOM 时,它应该具有所有必需的文件,所以有人知道我们在哪里以及如何获得任何网站的完整 HTML 源代码吗?

【问题讨论】:

【参考方案1】:

是的,当浏览器呈现页面时它确实会获取这些资源,您可以使用浏览器提供的保存选项,单击右键,然后另存为,然后另存为完整的网页。

如果前面的方法不起作用,那么有很多工具、扩展程序、应用程序可以提供此功能并且很容易搜索它们。

如果要将 html 及其资源保存在一个 html 文件中,可以将其保存为 mhtml 文件,使用此扩展名,例如 https://chrome.google.com/webstore/detail/save-webpages-offline-as/nfbcfginnecenjncdjhaminfcienmehn。

【讨论】:

你确定吗?每次我在 any 浏览器中保存页面时,它都会创建一个包含 all 链接文件的文件夹 - 对于 js 文件,它通常在扩展名后添加 .download . @ATD 不,我不确定这就是为什么我说,据我所知,顺便说一句,我现在尝试了,确实我系统上的 chrome 已经将下载添加为一个完整的网页选项,资源在哪里也下载了,这是我以前没有出现过的东西,idk 当这个被添加时。非常感谢您告诉我,我编辑了我的答案 我认为这已经存在多年了。我有 10 多年前的页面副本,其中包含子文件夹中的所有相关项目。 感谢您的信息。但我的问题是更多关于自动过程(而不是手动),比如我调用的某种 API 方法(浏览器提供的类似 document.getElementsByTagName('html')[0].innerHTML),它应该打印整个控制台中的 HTML(只是一个例子)

以上是关于无论如何都可以获得任何网站的完整呈现的 HTML 代码(包括 JavaScript 代码)?的主要内容,如果未能解决你的问题,请参考以下文章

IE 11 中的不完整 HTML

如何使用 jsoub 或任何其他方法从网站获取完整的 html 代码

5.3 万 Star!世界上最快的静态网站构建框架!

如何使用 CSS 和 HTML 获得“悬停”和“活动”状态?

无法在Mac Safari中呈现HTML

Flask:如何呈现自定义错误页面并获得 Sentry 警报?