You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

undetected-chromedriver版本不匹配:自动安装ChromeDriver无法适配需求

问题:undetected-chromedriver与ChromeDriver版本不匹配(Chrome 106 vs ChromeDriver 107)

背景

在实例化新的undetected-chromedriver前,使用python-chromedriver-autoinstaller安装ChromeDriver:

import chromedriver_autoinstaller
chromedriver_autoinstaller.install()

# 输出显示安装了106版本的ChromeDriver
'C:\\Users\\username\\project_path\\lib\\site-packages\\chromedriver_autoinstaller\\106\\chromedriver.exe'

但执行UndetectedChromeDriver.Chrome(options=self._browser_options)时,抛出错误:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:... from session not created: This version of ChromeDriver only supports Chrome version 107 Current browser version is 106.0.5249.119

尝试使用webdriver-manager的常规方法同样无效:

from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import undetected_chromedriver as UndetectedChromeDriver

return UndetectedChromeDriver.Chrome(
    options=self._browser_options,
    service=ChromeService(ChromeDriverManager().install()))

需要一种支持远程部署、能自动获取并安装适配Chrome版本的ChromeDriver方案。

完整报错栈

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\username\project_path\lib\site-packages\undetected_chromedriver\__init__.py", line 103, in __init__
    def __init__(
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 35, in __init__
    def __init__(self, executable_path=DEFAULT_EXECUTABLE_PATH, port=DEFAULT_PORT,
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 37, in __init__
    def __init__(self, browser_name, vendor_prefix,
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 195, in __init__
    def __init__(self, command_executor='http://127.0.0.1:4444',
  File "C:\Users\username\project_path\lib\site-packages\undetected_chromedriver\__init__.py", line 599, in start_session
    def start_session(self, capabilities=None, browser_profile=None):
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 346, in start_session
    def start_session(self, capabilities: dict, browser_profile=None) -> None:
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 408, in execute
    def execute(self, driver_command: str, params: dict = None) -> dict:
  File "C:\Users\username\project_path\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 102, in check_response
    def check_response(self, response: Dict[str, Any]) -> None:

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at 127.0.0.1:...
from session not created: This version of ChromeDriver only supports Chrome version 107
Current browser version is 106.0.5249.119

Stacktrace:

Backtrace:
    Ordinal0 [0x00FEACD3+2075859]
    Ordinal0 [0x00F7EE61+1633889]
    Ordinal0 [0x00E7B7BD+571325]
    Ordinal0 [0x00E9DFCD+712653]
    Ordinal0 [0x00E96D24+683300]
    Ordinal0 [0x00E96B01+682753]
    Ordinal0 [0x00ECDBD3+908243]
    Ordinal0 [0x00ECD6AA+906922]
    Ordinal0 [0x00EC7136+880950]
    Ordinal0 [0x00E9FEFD+720637]
    Ordinal0 [0x00EA0F3F+724799]
    GetHandleVerifier [0x0129EED2+2769538]
    GetHandleVerifier [0x01290D95+2711877]
    GetHandleVerifier [0x0107A03A+521194]
    GetHandleVerifier [0x01078DA0+516432]
    Ordinal0 [0x00F8682C+1665068]
    Ordinal0 [0x00F8B128+1683752]
    Ordinal0 [0x00F8B215+1683989]
    Ordinal0 [0x00F96484+1729668]
    BaseThreadInitThunk [0x774CFA29+25]
    RtlGetAppContainerNamedObjectPath [0x779E7BBE+286]
    RtlGetAppContainerNamedObjectPath [0x779E7B8E+238]

补充信息

通过注册表确认Chrome版本为106.0.5249.119:

C:\Users\username>REG QUERY HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon /v Version

HKEY_CURRENT_USER\Software\Google\Chrome\BLBeacon
    Version    REG_SZ    106.0.5249.119

解决方案

方法1:让undetected-chromedriver自动管理ChromeDriver

undetected-chromedriver本身自带版本检测和安装功能,无需额外依赖第三方库:

import undetected_chromedriver as uc

# 自动匹配已安装的Chrome版本
driver = uc.Chrome(options=self._browser_options)

# 若自动匹配失效,强制指定Chrome主版本
driver = uc.Chrome(options=self._browser_options, version_main=106)

方法2:手动指定第三方库安装的ChromeDriver路径

如果坚持使用chromedriver-autoinstaller,需明确指定驱动路径:

import chromedriver_autoinstaller
import undetected_chromedriver as uc

# 安装并获取ChromeDriver路径
driver_path = chromedriver_autoinstaller.install()

# 实例化时指定路径
driver = uc.Chrome(options=self._browser_options, executable_path=driver_path)

方法3:锁定ChromeDriver版本(适用于webdriver-manager)

使用webdriver-manager时,强制指定与Chrome匹配的驱动版本:

from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import undetected_chromedriver as uc

# 指定Chrome 106对应的ChromeDriver版本
driver = uc.Chrome(
    options=self._browser_options,
    service=ChromeService(ChromeDriverManager(version="106.0.5249.61").install())
)

注:ChromeDriver版本需与Chrome主版本一致,小版本可选择对应分支的最新版,比如Chrome 106对应ChromeDriver 106.0.5249.61

内容的提问来源于stack exchange,提问作者Andreas L.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 03:15:40