无头模式现已成为 Google Chrome 59 的标准配置,让我们尝试一下
你好。
我是Mandai,负责Wild 开发团队。
Google Chrome 版本 59 包含无头模式。
到目前为止,说到无头浏览器,PhantomJS 和 Selenium 很出名(我个人也使用过 Watir。 →无头浏览器列表)
所有这些都需要进行各种准备来构建环境,但是,使用 Google Chrome 59,您可以创建一个环境。只需安装即可实现无头环境! 所以我尝试了一下。
请注意,从版本 59 开始,它与 Windows 不兼容,因此已在 CentOS 7 上确认操作。
更新谷歌浏览器
如果您通过 yum 安装,则更新很容易。
sudo yum -y 升级 google-chrome-stable
如果您还没有安装,从此页面下载rpm包
Google Chrome 的存储库也会自动添加,因此将来的更新可以使用 yum 命令执行。
现在让我们尝试移动它 ~ 检查 DOM ~
尝试通过 Google ChromeBeyond 主页
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)] 写入文件 snapshot.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)] 写入文件顶部.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。
输出了一个名为“output.pdf”的 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。
概括
我随便使用谷歌浏览器,未经许可就更新到了最新版本,但这次我认为这将是一个相当有影响力的更新,所以我选择了它。
实际上,有一种方法可以通过 DevTools 协议使用 Node.js 以无头模式启动 Google Chrome,而且我觉得可以更随意、更深入地做到这一点。
我想再写一下这部分。
由于今天是摇滚日(69),我希望内容是摇滚的,但事实并非如此。
P.S.:我写了一篇相关文章,名为 [尝试使用 Node.js | Beyond Co., Ltd. 的 headless Google Chrome](https://beyondjapan.com/blog/2017/07/headless-chrome-with-nodejs) 。
附录2:【Google Chrome 的 headless 模式好像可以详细监控外观,所以尝试了一下 | Beyond Co., Ltd.】(https://beyondjapan.com/blog/2017/07/headless-chrome-网络)我也写过相关文章
就是这样。