selenium chrome历史版本下载
时间: 2024-12-29 21:15:33 浏览: 11
### 如何下载指定版本的 Selenium ChromeDriver
为了确保自动化脚本能够正常运行,使用与当前安装的Google Chrome浏览器相匹配版本的ChromeDriver至关重要。当需要下载特定版本的Selenium ChromeDriver时,可以遵循如下方法:
#### 方法一:手动下载
访问[Selenium官方网站](https://sites.google.com/a/chromium.org/chromedriver/downloads),这里提供了不同平台下的各版本ChromeDriver供用户选择。通过查看页面上的历史记录部分找到所需的具体版本链接并点击下载。
对于Windows操作系统而言,在命令提示符环境下可以通过`choco install chromedriver --version=具体版本号`来利用Chocolatey工具实现快速部署;而对于Linux或MacOS,则可借助Homebrew(`brew cask install chromedriver`)等包管理器完成相同操作[^1]。
#### 方法二:编程方式自动下载
如果希望通过编写程序来自动生成这一过程,下面给出了一段Python代码作为示范,该代码会先读取本地已安装的Chrome浏览器版本信息,再据此从网上抓取对应的ChromeDriver文件进行保存至项目根目录下:
```python
import requests
from bs4 import BeautifulSoup
import re
import os
import zipfile
def get_chrome_version():
"""获取本地chrome版本"""
version_info = ''
try:
with open(r'C:\Program Files\Google\Chrome\Application\chrome.exe.manifest', 'r') as f:
content = f.read()
match_obj = re.search('ProductVersion="(\d+\.\d+\.\d+)', content, flags=re.IGNORECASE)
if match_obj is not None:
version_info = match_obj.group(1).strip('.')
except Exception as e:
print(f'Error occurred while getting chrome version: {e}')
return version_info
def download_driver(version):
url = "http://chromedriver.storage.googleapis.com/"
response = requests.get(url)
soup = BeautifulSoup(response.text, features='html.parser')
links = []
for link in soup.find_all('a'):
href = link.get('href').replace('/', '')
if href.startswith(version.split('.')[0]) and href.endswith('.zip'):
links.append(href)
latest_link = sorted(links)[-1]
file_url = url + latest_link
r = requests.get(file_url, stream=True)
zip_file_path = './'+latest_link
with open(zip_file_path, 'wb') as fd:
for chunk in r.iter_content(chunk_size=128):
fd.write(chunk)
with zipfile.ZipFile(zip_file_path,"r")as zpfile:
zpfile.extractall('./')
if __name__ == '__main__':
ver=get_chrome_version()
print(ver)
download_driver(ver)
```
这段代码实现了两个主要功能函数:一个是用于提取计算机上实际存在的Chrome浏览器版本字符串;另一个则是基于此去官方源站查找最接近目标版本的可用驱动,并执行下载动作[^4]。
阅读全文