无头模式现在是 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
加载中...
0票,平均分:0.00/10
2,466
X Facebook Hatena书签 口袋

这篇文章的作者

关于作者

万代洋一

我的主要工作是开发社交游戏的Web API,但我也很荣幸能够从事其他各种工作,包括市场营销。
我在Beyond中的肖像权采用CC0协议。