无头浏览器介绍

简而言之,Headless Browser是没有图形用户界面(GUI)的web浏览器,通常是通过编程或命令行界面来控制的。
Headless Browser的许多用处之一是自动化可用性测试或测试浏览器交互。如果您正在尝试检查页面在不同的浏览器中呈现的方式,或者确认页面元素在用户启动某个工作流之后出现,那么使用Headless Browser可以提供大量的帮助。除此之外,如果内容是动态呈现的(比如通过Javascript),web抓取等传统的面向web的任务就很难做了。使用Headless Browser可以方便地访问这些内容,因为内容的呈现方式与完全浏览器中的内容完全相同。
而ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器。

安装步骤

使用无头浏览器驱动,需要安装和电脑上已经安装好的谷歌浏览器版本号相匹配的无头驱动,然后进行配置,操作如下。

一、查看版本号

如果不知道在哪里查看,请使用谷歌浏览器打开本页,点击这个按钮查看。

查看Chrome版本

二、下载对应驱动

这里我们使用淘宝的国内镜像源,下载速度会更快一些,天朝的网络你懂得。

淘宝镜像源:https://npm.taobao.org/mirrors/chromedriver/

比如我的Chrome版本号为:73.0.3683.86,那么我就寻找上述页面上和这个版本最接近的驱动下载即可匹配,并非要一模一样。win用户下载后解压的为exe文件,Linux用户下载后是个二进制文件。我这里使用的为Deepin操作系统,是一个Linux发行版操作系统。win下请自行放置exe文件到一个目录,然后添加环境变量即可。Linux下,将下载后的二进制文件放到/usr/bin/目录下即可。注意移动文件时候的权限。

三、验证安装

打开终端,输入以下指令:
chromedriver --version
我们可以看到返回信息为:

>>>ChromeDriver 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72)

这时已经代表配置完成了。

其他

如果不知道或者不想配置环境变量,linux不知到如何操作,也可以在使用selenium时候指定一下驱动文件的位置就可以了,他本质也就是个命令行应用。