无头模式现在是 Google Chrome 59 的标准配置,所以我打算试用一下。

大家好,
我是开发团队野生队的成员 Mandai。
Google Chrome 59 版本现在支持无头模式。
此前,PhantomJS 和 Selenium 是比较流行的无头浏览器(我个人用过 Watir。→无头浏览器列表)。
它们都需要各种准备步骤来搭建环境,但 Google Chrome 59 只需安装即可搭建无头环境!所以我决定试一试。
从版本 59 开始,它与 Windows 不兼容,因此我们已确认它在 CentOS 7 上运行。
更新谷歌浏览器
如果你是通过 yum 安装的,那么更新就很容易。
sudo yum -y upgrade google-chrome-stable
如果您尚未安装,页面并进行安装。Google
Chrome 的软件源也会自动添加,以便您可以使用 yum 命令进行后续更新。
我们来运行一下 DOM 检查。
让我们尝试通过谷歌浏览Beyond 的主页
google-chrome --headless --disable-gpu --dump-dom https://beyondjapan.com<body id="index" style=""> ...
通过运行带有“--dump-dom”选项的程序,我能够获取网站的 DOM。
我们来试试运行一下~截图~
接下来,我试试截屏。
google-chrome --headless --disable-gpu --screenshot --window-size=1280,1440 https://beyondjapan.com [0608/054855.748933:INFO:headless_shell.cc(436)] 已写入文件 screenshot.png。.
截屏时,如果不指定浏览器显示大小,则只能截取很小的区域,因此需要使用“--window-size=[width],[height]”选项设置屏幕大小。
要通过指定文件名来保存文件,
google-chrome --headless --disable-gpu --screenshot=top.png --window-size=1280,1440 https://beyondjapan.com [0608/055147.536344:INFO:headless_shell.cc(436)] 已写入文件 top.png。.
将文件名作为“--screenshot”选项的参数指定。
我们来试试运行一下~PDF转换~
接下来,尝试将网站转换为 PDF 格式。
google-chrome --headless --disable-gpu --print-to-pdf https://beyondjapan.com [0608/033512.266562:INFO:headless_shell.cc(436)] 已写入文件 output.pdf。.
输出的 PDF 文件名为 output.pdf。
我打开文件后发现,PDF 输出的内容和网站的布局完全一样。
这倒没什么特别的,但是网站顶部的固定页眉会显示在每一页上,所以从第二页开始,页面顶部的内容就看不到了。
我想很多网站都是这样的,所以了解一下总是好的。
另外,如果您使用此命令将多个页面转换为 PDF,它们将被覆盖。
google-chrome --headless --disable-gpu --print-to-pdf=top.pdf https://beyondjapan.com [0608/033723.196640:INFO:headless_shell.cc(436)] 已写入文件 top.pdf。.
通过将文件名作为“--print-to-pdf”选项的参数,您可以将 PDF 文件保存为不同的名称。
概括
即使您只是偶尔使用 Google Chrome,它也会自动更新到最新版本,但我认为这次更新可能会产生相当大的影响,所以我决定在这里介绍一下。
事实上,可以通过 DevTools 协议在 Node.js 环境下以无头模式运行 Google Chrome,这使得用户能够以更轻松、更深入的方式使用它。我
希望也能就此撰写一篇文章。
今天是世界摇滚日(第69届),所以我想要做一些摇滚主题的东西,但效果不太好。
附录:我写了一篇相关的文章,名为[使用无头谷歌浏览器和Node.js | Beyond Inc.](https://beyondjapan.com/blog/2017/07/headless-chrome-with-nodejs)。
附录 2:我还写了一篇相关的文章,名为[我尝试使用 Google Chrome 的无头模式,因为它似乎可以进行详细的外部监控 | Beyond Inc.](https://beyondjapan.com/blog/2017/07/headless-chrome-networks)。
就这样。
0