使用Python Selenium测试时遇Google Edge Cache禁止错误求助
解决ChromeDriverManager下载被Google Edge Cache禁止的问题
问题描述
运行Python Selenium代码时,ChromeDriverManager自动下载ChromeDriver的请求被Google Edge Cache拦截,返回Google-Edge-Cache: forbidden Error:7,无法完成驱动安装。
运行代码
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service)
错误详情
Traceback (most recent call last): File "C:\Users\kerem\PycharmProjects\pythonProject\main.py", line 5, in <module> service = Service(executable_path=ChromeDriverManager().install()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kerem\PycharmProjects\pythonProject\venv\Lib\site-packages\webdriver_manager\chrome.py", line 40, in install driver_path = self._get_driver_binary_path(self.driver) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kerem\PycharmProjects\pythonProject\venv\Lib\site-packages\webdriver_manager\core\manager.py", line 40, in _get_driver_binary_path file = self._download_manager.download_file(driver.get_driver_download_url(os_type)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kerem\PycharmProjects\pythonProject\venv\Lib\site-packages\webdriver_manager\core\download_manager.py", line 29, in download_file response = self._http_client.get(url) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\kerem\PycharmProjects\pythonProject\venv\Lib\site-packages\webdriver_manager\core\http.py", line 36, in get self.validate_response(resp) File "C:\Users\kerem\PycharmProjects\pythonProject\venv\Lib\site-packages\webdriver_manager\core\http.py", line 19, in validate_response raise ValueError( ValueError: response body: Google-Edge-Cache: forbidden Error: 7 request url: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/116.0.5845.96/win32/chromedriver-win32.zip response headers: {'content-length': '37', 'content-type': 'text/plain', 'x-request-id': 'ca594d4d-aa62-4ebf-8c4c-04a30cc6a844', 'alt-svc': 'h3=":443"; ma=2592000, h3-29=":443"; ma=2592000', 'date': 'Tue, 05 Sep 2023 16:00:53 GMT', 'server': 'Google-Edge-Cache'} Process finished with exit code 1
解决方案
1. 手动下载ChromeDriver并指定路径
- 查看本地Chrome版本:打开Chrome,输入
chrome://settings/help获取版本号(示例为116.0.5845.96) - 下载对应版本的ChromeDriver压缩包,解压得到
chromedriver.exe - 修改代码直接指定驱动路径:
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 替换为你解压后的chromedriver实际路径 service = Service(executable_path=r"C:\your\path\to\chromedriver.exe") driver = webdriver.Chrome(service=service)
2. 给ChromeDriverManager配置国内镜像源
用国内镜像绕过Google缓存限制,示例使用淘宝镜像:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service service = Service(executable_path=ChromeDriverManager(url="https://npm.taobao.org/mirrors/chromedriver/").install()) driver = webdriver.Chrome(service=service)
需要指定版本时,添加version参数:
ChromeDriverManager(version="116.0.5845.96", url="https://npm.taobao.org/mirrors/chromedriver/").install()
3. 检查网络环境
- 切换网络(如手机热点),排查是否是公司防火墙、代理服务器拦截请求
- 若使用代理,确认代理配置可正常访问外部资源
内容的提问来源于stack exchange,提问作者Denis Malanichev
相关产品推荐
相关产品推荐

