因此,我使用的是 Chrome/Chromium 浏览器(如果需要的话也可以使用 Firefox)。
我正在浏览使用(大概是)AJAX“即时”构建的网页(想想你在 Facebook 上向下滚动时东西会不断出现)。
我想在加载一堆内容之后保存此类页面的 html,但这不会显示在 Chromium 开发者工具的 DOM 中,并且右键单击保存只会保存原始页面,在 AJAX 加载内容之前。
我能做些什么?
答案1
获取包含所有动态加载元素的源代码的一种方法是通过 Chrome 开发者工具 ( F12)。选择<HTML>
页面最开始的标签,然后复制元素 ( CTRL+ C)。这还会将所有包含的数据(动态加载或其他)复制到剪贴板,然后您可以将其粘贴到任何您想要的位置。
下面是展示该过程的 gif:
明显的缺点是,如果您想要完整的网站,您将必须手动下载所有文件(.js
、、.css
图像)并将它们保存(提示:使用 Dev Tools 中的“源”选项卡)在与 html 文件相同的文件夹中,或者,如果您不介意从网络获取一些数据,请像这样修改 HTML 源中的链接:
===ORIGINAL===
<img src="file.jpg">
===MODIFIED===
<img src="[url_of_website_that_you_want_to_save]/file.jpg">
答案2
书签小工具
这是另一种方法,更简单!
保存以下 JavaScript 代码为书签小工具,然后在想要查看生成源的页面上点击它:
javascript:(function(){ function htmlEscape(s){s=s.replace(/&/g,'&');s=s.replace(/>/g,'>');s=s.replace(/</g,'<');return s;} x=window.open(); x.document.write('<pre>' + htmlEscape('<html>\n' + document.documentElement.innerHTML + '\n</html>')); x.document.close(); })();