问题描述
Selenium
是一个自动化测试工具,它支持各种浏览器和平台。由于它能够模拟用户的浏览器操作,因此也被广泛用于网络爬虫领域,尤其是那些需要执行JavaScript
、处理复杂交互或模拟用户行为的场景。
尽管使用Selenium
在网络爬虫方面有很多优势,但是要想使用Selenium
去驱动浏览器操作,还必须要使用相应浏览器的驱动程序,例如:以Chrome
浏览器为例,要想使用Selenium
去操作Chrome
浏览器,除了要下载浏览器之外,还需要准备相适应的ChromeDriver
驱动软件。
这个时候就会出现一个问题,由于电脑的Chrome
会一直进行自动更新,而ChromeDriver
驱动软件是自己额外下载的,它不会随着浏览器的升级而升级,所以这个时候就会导致Chrome
和ChromeDriver
之间不适配,从而导致Selenium
无法驱动Chrome
,并且ChromeDriver
更新的速度远远跟不上Chrome
更新的速度。这个问题一直都困扰着很多的网络爬虫工作者和初学者。
基于此,本博文提出了一种一劳永逸的配置方法,使得在使用Selenium
不用被Chrome
自动更新带来的版本问题所困扰。
解决问题的方式,使用Chrome
开发者版本Chromium
去替代自带的Chrome
浏览器。
操作流程
下载Chromium和ChromeDriver
进入网址:https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html
该网址可能需要科学上网才可以访问,大家也可以直接使用我提供的百度云网盘链接去下载:
链接:https://pan.baidu.com/s/1vEJio1Ulb2axoI0w7Q4dtw?pwd=ming
直接使用百度网盘中的文件,可以跳过下载安装过程,直接执行网盘中的测试脚本。
找到自己的电脑操作系统,例如Win_64
随便选择一个版本进行下载,例如
选择chrome-win.zip
和chromedriver_win32.zip
进行下载
下载完后解压相应压缩包
将chrome-win.zip
解压后即可得到一个chrome-win
文件夹,该文件夹即是离线的开发者版本Chromium
,可以直接打开文件夹下的chrome.exe
可执行文件开启Chromium
。
接下来将chromedriver_win32.zip
压缩包下的chromedriver.exe
解压到chrome-win
文件夹。
在Selenium中配置chrome和chromedriver
在chrome-win
同级目录下创建测试脚本test_selenium.py
使用以下代码设置Selenium
使用的Chrome
和ChromeDriver
1 | from selenium import webdriver |
成功驱动Chromium
访问百度。
至此,再也不用受Chrome
浏览器更新的影响了,并且只需要将chrome-win
文件夹保存下来,都不需要计算机中存在Chrome
浏览器,极大降低了Selenium
使用门槛。