问题:什么是无头浏览器,它的作用是什么?
回答:
什么是无头浏览器(headless browser),简单来说是一种没有界面的浏览器。既然是浏览器那么浏览器该有的东西它都应该有,只是看不到界面而已。我们日常使用浏览器的步骤为:启动浏览器、打开一个网页、进行交互。而无头浏览器指的是我们使用脚本来执行以上过程的浏览器,能模拟真实的浏览器使用场景。
作用:
有了无头浏览器,我们就能做包括但不限于以下事情:
对网页进行截图保存为图片或 pdf
抓取单页应用(SPA)执行并渲染(解决传统 HTTP 爬虫抓取单页应用难以处理异步请求的问题)
做表单的自动提交、UI的自动化测试、模拟键盘输入等
用浏览器自带的一些调试工具和性能分析工具帮助我们分析问题
在最新的无头浏览器环境里做测试、使用最新浏览器特性
写爬虫做你想做的事情~
无头浏览器很多,包括但不限于:
PhantomJS, 基于 Webkit
SlimerJS, 基于 Gecko
HtmlUnit, 基于 Rhnio
TrifleJS, 基于 Trident
Splash, 基于 Webkit
本文主要介绍 Google 提供的无头浏览器(headless Chrome), 他基于Chrome DevTools protocol提供了不少高度封装的接口方便我们控制浏览器。
(引用:作者:蚂蚁金服数据体验技术 -链接:https://juejin.im/post/59e5a86c51882578bf185dba)