这里我们使用谷歌的无头浏览器进行演示

首先我们要确保自己的电脑上安装了谷歌浏览器

然后需要知道谷歌浏览器的版本,因为要对应版本去下载对应的驱动,可视化谷歌浏览器可以通过谷歌浏览器的菜单>帮助>关于Google Chrome 里面找到版本信息

如果是centos最小化界面可以通过google-chrome --version 命令来查看自己系统中存在的谷歌浏览器版本号,liunx安装谷歌浏览器的命令这里就不提供,具体可以直接百度,直接下载对应的版本或者下载最新版本都可以

然后我们去下载驱动,由于谷歌的网站我们无法进行访问,所以可以通过淘宝的源进行下载,驱动和谷歌官网的驱动是同步的,没有版本缺失的情况

淘宝源地址:http://npm.taobao.org/mirrors/chromedriver/

我们要对应下载驱动,如果驱动不匹配是无法成功运代码的,这里以我的浏览器为例,我的谷歌浏览器是目前的最新版本90.0.4430.93,可以看到淘宝源有很多版本的驱动,要知道这些驱动可以对应哪些谷歌浏览器的版本我们可以随便点击一个和你的版本接近的驱动比如我可以点击里面的90.0.4430.24/ 并不是说版本号就要和我的谷歌浏览器版本一摸一样,只要相近就可以,我们点击后可以看到里面的内容,其中有一个文件叫notes.txt 这里可以查看这个驱动版本可以使用哪些浏览器,我们可以看到第一句就是说Supports Chrome version 90,意思就是支持谷歌浏览器90开头的版本,我的是90.0.4430.93就是90开头的所以可以直接使用这个驱动。

我们要根据我们对应的系统下载对应的驱动,比如我的系统是mac,也就是苹果系统,那么我就要下载这个名叫chromedriver_mac64.zip的驱动包,如果你的系统是Windows系统那么就要下载这个名字叫chromedriver_win32.zip的驱动包

下载好驱动包之后我们对其进行解压,然后就可以得到一个驱动文件,如果是Windows的驱动包解压出来的就是一个chromedriver.exe的文件

然后我们将驱动放在我们系统对应的文件夹中,不放也可以,不过要在python代码中指定驱动的绝对路径

如果是mac、liunx系统那么就要将驱动文件放在/usr/local/bin目录下

如果你的系统是Windows那么就要放在Python安装目录下

放好驱动之后我们就可以编写我们的代码了,编写代码的过程中可能要下载一些python的包才可以使用,这里还是自己去百度找,一般来说如果使用专业的编写代码的工具的话会直接给你提示要下载哪些包直接点击下载即可

然后我们编写如下python代码

# coding=utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
from selenium.webdriver import ActionChains
import time

chrome_options = Options() #获取浏览器对象
driver = webdriver.Chrome(options=chrome_options) #获取浏览器驱动
driver.get("http://baidu.com") #让浏览器去访问百度页面
time.sleep(1) #睡眠一秒
driver.save_screenshot("picture/screen2.png") #截图放在项目的picture文件夹下
driver.quit() #退出浏览器

通过以上代码如果包是正确导入的情况下就会自动打开浏览器然后去打开百度,等待一秒截图然后就自动关闭浏览器

那么就有人问了,难不成我要看着他运行完成吗,答案肯定不是的,因为我们使用无头浏览器就是想让他无界面的去帮我们访问一些页面,所以我们加上一些参数就可以了

# coding=utf-8
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
from selenium.webdriver import ActionChains
import time

chrome_options = Options() #获取浏览器对象
chrome_options.add_argument("--headless") #设置成无界面模式
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--window-size=1920,1080") #设置窗口大小为1920*1080
driver = webdriver.Chrome(options=chrome_options) #获取浏览器驱动
driver.get("http://baidu.com") #让浏览器去访问百度页面
time.sleep(1) #睡眠一秒
driver.save_screenshot("picture/screen2.png") #截图放在项目的picture文件夹下
driver.quit() #退出浏览器

这里就可以看到浏览器并没有显示界面但是运行完成了然后在picture文件夹下多了一张截图的文件

以上就是无头浏览器的教程,比如自动去点击某个输入框,输入某个字符串,然后刷新浏览器等等 这些方法都可以直接百度搜索selenium自动操作浏览器就可以看到很多教程