使用bose Python库时ChromeDriver版本不兼容问题求助
解决Bose库ChromeDriver版本不兼容问题
问题分析
核心矛盾是ChromeDriver 114与当前Chrome浏览器119版本不兼容,Bose库默认从旧存储源拉取ChromeDriver,导致版本匹配失败。报错信息如下:
from session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 119.0.6045.199
解决方案
1. 手动指定ChromeDriver路径
Chrome从115版本开始,ChromeDriver下载地址变更为Chrome for Testing仓库。先手动下载对应119版本的ChromeDriver,再在代码中强制指定路径:
from bose import BrowserConfig # 替换为你本地ChromeDriver 119的实际路径 config = BrowserConfig( executable_path="/Users/yourname/Downloads/chromedriver-mac-arm64/chromedriver" ) # 在任务类中绑定该配置 class Task(BaseTask): browser_config = config
2. 清理Bose的ChromeDriver缓存
Bose会缓存已下载的ChromeDriver,删除旧版本缓存后重新运行,可触发重新下载:
- 找到缓存目录(通常是用户根目录下的
~/.bose/chromedriver) - 删除目录内所有文件,重新执行代码
3. 修改Bose的ChromeDriver下载源(进阶)
若要让Bose自动适配最新Chrome版本,可修改库内下载逻辑:
- 找到Bose库中负责ChromeDriver下载的模块(如
chromedriver_utils.py) - 将原有的从
chromedriver.storage.googleapis.com获取版本的逻辑,替换为从Chrome for Testing版本接口获取对应版本的下载链接
4. 适配g2-scraper仓库
运行g2-scraper时,直接修改仓库任务配置:
- 打开仓库的
main.py或任务定义文件,添加上述BrowserConfig配置,指定本地ChromeDriver 119路径 - Linux/macOS环境下需执行
chmod +x chromedriver赋予执行权限
内容的提问来源于stack exchange,提问作者py_js_dev
相关产品推荐
相关产品推荐

