Windows小技巧 -- Chrome浏览器中页面保存技巧

本文主要以百度首页为例,记录Chrome浏览器中,保存页面的多种方式(涉及一些Chrome的“小技巧”),涉及插件使用请自行尝试,本文仅对不使用插件的情况下保存页面的不同处理方法做简单介绍。

系统环境:Windows10、Chrome 70.0.3538.110(正式版本) (64 位).

保存离线页面

说到页面离线保存,首先想到的就是右键保存(Ctrl + S),这样的方式保存会把当前页面的资源保存下来,并放到一个目录下面,大致效果如下:

离线保存页面

在想要编辑页面源码等情况下,可以使用此方法,如果只想获取单个离线页面文件用来离线查看,则可以尝试保存当前页面为MHTML文档,可以使用插件(Save As MHTSave As MHTML 等) 或Chrome原生支持来完成此功能。

Chrome浏览器保存MHTML格式页面

很多浏览器(IE 5.0+、Opera 9.0+、Chrome等)都支持存储MHTML格式页面,大多不支持的浏览器,也有对应的插件可以处理。

在Chrome中,要保存MHTML格式页面,需要在Chrome的实验性功能设置中开启。

首先,在Chrome浏览器的地址栏输入 chrome://flags ,可以进入Chrome的实验性功能设置页面

Chrome flags

在页面的搜索框内输入 mhtml ,找到 Save Page as MHTML 项(或直接在地址栏输入 chrome://flags/#save-page-as-mhtml),将该项设置为 Enabled ,然后点击底部提示中的 RELAUNCH NOW 按钮重启浏览器,使修改生效。

Save Page as MHTML

重启浏览器后,在需要保存的页面中,右键,选择另存为(或快捷键 Ctrl + S),弹出的另存为窗口,保存类型选择 网页(单个文件)

Chrome保存MHTML格式页面

附:IE保存MHT格式页面

MHTML(维基百科 | 百度百科),网页归档,又称单一档案网页或网页封存档案,可以将一个多附件网页保存为单一文档,文档扩展名为 .mht.mhtml。IE浏览器支持保存 .mht 文件,下面做简单介绍。

IE浏览器中打开需要保存的百度首页页面链接,然后右键保存(Ctrl + S),出现的保存窗口中,选择保存类型 *.mht

IE保存mht格式页面

此时可以看到一个百度的MHT文件,文本编辑器打开后,可以看到类似下面的代码:

百度 MHT离线文件

这里可以看到MHTML文档是基于超文本标记语言的,里面可以看到经过处理的页面代码。


保存PDF页面

Chrome中PDF格式页面保存,可以通过 PrintFriendly & PDF (有Chrome插件)等在线处理服务或使用Chrome插件(Save As PDF)实现,也可以通过打印来实现。

Chrome打印预览中保存页面PDF

在想保存的页面中,快捷键 Ctrl + P (或右键菜单 -> 打印(p)...),打开页面的打印浏览界面

页面打印预览

此时可以看到站点的打印预览效果(默认黑白显示),在左侧选项中找到 目标打印机 -> 更改... ,在弹出的选择界面中,找到 另存为 PDF ,双击即可

页面打印预览

此时就可以看到站点的彩色版预览效果,点击左侧的 保存 按钮即可将站点存储为PDF格式。


保存图片页面

部分情况下,可能会需要截取页面,有时仅需要截取部分内容,这通过普通的截图工具即可完成,如QQ截取、微信截图、Windows自带截图工具等等;而有时可能需要截取页面长图,这也可以通过工具来实现,如FastStone Capture、Chrome插件(FireShot、Full Page Screen Capture)等。这里简单介绍 FastStone Capture 和Chrome截图方法,其他方式不赘述。

截图工具实现图片页面保存

打开工具 FastStone Capture ,选择 捕捉滚动窗口 按钮,则可以进入长图截图窗口

FastStone Capture 截取页面长图

FastStone Capture的捕捉滚动窗口,可以支持自动滚动窗口及自定义滚动窗口,可以根据需要选择,以达到截取所需内容的目的(自定义滚动截图不太好使,不容易把控结束时间,截取的图片可能需要再次编辑)

Chrome浏览器命令行菜单实现图片页面保存

在Chrome浏览器的开发者工具中(devtools),也提供了类似主流编辑器(Sublime Text, Atom, Visual Studio Code等)中的命令行菜单,通常使用 Ctrl + Shift + P ( Mac 上是 Cmd + Shift + P) 。如Sublime Text的命令行菜单:

Sublime Text 命令行菜单

使用Sublime Text的朋友应该很熟悉这个了,而命令行菜单带来的遍历是不言而喻的。

在Chrome浏览器中,首先 F12 打开 DevTools 开发者工具,然后在DevTools中使用快捷键 Ctrl + Shift + P ,就可以打开Chrome的命令行菜单:

Chrome 命令行菜单

在命令行菜单中,输入 capture 就可以看到有如下选项

Chrome命令行菜单 Capture

这里可以看到,Chrome命令行菜单提供了三个用于界面捕获的命令

  • Capture full size screenshot - 截取整个站点(长图)
  • Capture node screenshot - 截取选择的DOM节点
  • Capture screenshot - 截取视图窗口显示的部分

在命令行内输入对应的命令,即可完成截图。

附:Chrome浏览器站点移动端视图截图

上面介绍了截取站点方法,这里额外说下,想截取站点在不同像素显示下响应显示时,截取类似移动端长图的方法。

同样在Chrome浏览器中,打开DevTools,然后点击按钮,点击 toggle device toolbar(切换设备工具栏) ,可以看到类似如下效果:

打开切换设备工具栏

在这个工具栏中,可以通过切换不同的设备(不同的分辨率),来查看站点在不同的分辨率下的显示情况,可以很好的辅助站点的响应式开发工作。在这个视图中,可以通过点击顶部菜单项最右边的三个点,来打开菜单,里面有截取屏幕的选项,如下:

移动端视图截图

Headless Chrome模式完成页面截图及转存PDF

Headless Chrome is shipping in Chrome 59. It's a way to run the Chrome browser in a headless environment. Essentially, running Chrome without chrome! It brings all modern web platform features provided by Chromium and the Blink rendering engine to the command line.

Chrome 59以上版本支持Headless Chrome,Headless Chrome是可以命令行模式运行Chromium和Blink渲染引擎提供功能。可以在无UI窗口的情况下,完成很多浏览器的操作,是自动测试和服务器环境的绝佳工具。更多内容参看官方说明

Headless Chrome 保存页面

管理员模式运行命令行窗口,使用 cd 命令进入Chrome浏览器安装目录,输入类似如下命令:

chrome --headless --disable-gpu --dump-dom https://www.baidu.com

测试了下,好像没有效果,具体原因不清楚。。。有知道的朋友,希望可以不吝赐教!!!

Headless Chrome 保存页面PDF

管理员模式运行命令行窗口,使用 cd 命令进入Chrome浏览器安装目录,输入类似如下命令:

chrome --headless --disable-gpu --print-to-pdf='存储路径\文件名称' https://www.baidu.com
Headless Chrome 保存页面PDF

注意,此处如果不给存储路径和文件名称,则保存的pdf可以在Chrome浏览器安装目录下对应版本号的目录文件下,文件名称为 output.pdf

Headless Chrome保存PDF默认存储位置及名称

Headless Chrome 页面截图

管理员模式运行命令行窗口,使用 cd 命令进入Chrome浏览器安装目录,输入类似如下命令:

chrome --headless --disable-gpu --screenshot='存储路径\文件名称' https://www.baidu.com

## 设置图片大小(尺寸大小好像没有用,具体作用自行研究)
chrome --headless --disable-gpu --screenshot='存储路径\文件名称' --window-size=宽,高 https://www.baidu.com
Headless Chrome保存页面截图默认存储位置及名称

注意,此处如果不给存储路径和文件名称,则保存的pdf可以在Chrome浏览器安装目录下对应版本号的目录文件下,文件名称为 output.pdf

Headless Chrome保存页面截图默认存储位置及名称

Puppeteer

Chrome官方推出的Puppeteer(封装了Headless Chrome的Node库),可以完成浏览器中手动执行的大多数操作:

  • 生成页面的屏幕截图和PDF。
  • 抓取SPA(单页面应用程序)并生成预渲染内容(即“SSR”(服务器端渲染))。
  • 自动化表单提交,UI测试,键盘输入等。
  • 创建最新的自动化测试环境。使用最新的JavaScript和浏览器功能直接在最新版本的Chrome中运行测试。
  • 捕获站点的时间线跟踪,以帮助诊断性能问题。
  • 测试Chrome扩展程序。

该库具体功能详见 此处 | Github地址

类似的还可以尝试PhantomJS -- 可编写脚本的无头浏览器


阅读参考

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容