如何阻止Selenium每次启动时自动下载ChromeDriver?
解决ChromeDriverManager总是下载最新版ChromeDriver的问题
你说得没错,问题根源就是cache_valid_range=0这个参数:它设置缓存的有效天数为0,意味着每次调用install()时,都会忽略本地已缓存的驱动,强制去服务器检查并下载最新版本,这才导致了重复下载的问题。
要实现“仅在Chrome浏览器更新时才更新ChromeDriver”的需求,你可以按以下两种方式调整:
方式一:移除
cache_valid_range参数,使用默认逻辑
ChromeDriverManager默认的cache_valid_range值为1(即1天内不会重复检查更新),而且它会自动匹配当前Chrome浏览器的版本——只要本地缓存中有对应版本的ChromeDriver,就直接复用;只有当Chrome版本更新,缓存中没有适配的驱动时,才会下载对应版本的ChromeDriver。
修改后的代码:options = Options() options.add_argument("--start-maximized") driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=options)方式二:设置合理的缓存有效期
如果你想延长缓存的有效时长(比如30天),可以把cache_valid_range设为大于0的数值,这样在有效期内只会使用缓存的驱动,只有Chrome版本更新导致驱动不匹配时,才会触发新的下载。
修改后的代码:options = Options() options.add_argument("--start-maximized") driver = webdriver.Chrome(service=Service(ChromeDriverManager(cache_valid_range=30).install()), options=options)
内容的提问来源于stack exchange,提问作者anon
相关产品推荐
相关产品推荐

