前言
chromedriver是Web UI自动化必备的一个谷歌Chrome浏览器的驱动文件,需要和自己电脑上安装的Chrome浏览器版本对应才能正常使用。
经常遇到新手装的Chrome浏览器自动更新了,但是chromedriver没更新,导致原本正常的脚本突然不能用了。
因此想做一个脚本自动下载最新的chromedriver。
代码
import requests
import re
url = 'http://npm.taobao.org/mirrors/chromedriver/'
rep = requests.get(url).text
time_list = [] # 用来存放版本时间
time_version_dict = {
} # 用来存放版本与时间对应关系
result = re.compile(r'\d.*?/</a>.*?Z').findall(rep) # 匹配文件夹(版本号)和时间
for i in result:
time = i[-24:-1] # 提取时间
version = re.compile(r'.*?/').findall(i)[0] # 提取版本号
time_version_dict[time] = version # 构建时间和版本号的对应关系,形成字典
time_list.append(time) # 形成时间列表
latest_version = time_version_dict[max(time_list)] # 用最大(新)时间去字典中获取最新的版本号
download_url = url + latest_version + 'chromedriver_win32.zip' # 拼接下载链接
file = requests.get(download_url)
with open("chromedriver.zip", 'wb'