1. 为什么需要undetected-chromedriver?
在自动化测试和爬虫开发领域,ChromeDriver是最常用的浏览器驱动工具之一。但近年来,越来越多的网站开始检测并屏蔽基于Selenium的自动化操作。这些检测手段主要包括:
- WebDriver属性检测:网站通过navigator.webdriver属性判断是否由自动化工具控制
- 浏览器指纹识别:通过收集浏览器特征参数(如userAgent、屏幕分辨率、插件列表等)建立唯一标识
- 行为模式分析:监测鼠标移动轨迹、点击间隔时间等人类操作特征
传统ChromeDriver在这些检测面前几乎无所遁形。这就是undetected-chromedriver诞生的背景——它通过以下方式规避检测:
- 自动修补WebDriver属性
- 随机化浏览器指纹参数
- 模拟人类操作行为
- 动态加载必要组件
重要提示:使用这类工具时务必遵守目标网站的服务条款,仅用于合法合规的测试和学习目的。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 安装undetected-chromedriver
推荐使用Python 3.7+环境,通过pip安装最新版本:
bash复制pip install undetected-chromedriver
对于国内用户,可以使用清华镜像加速安装:
bash复制pip install undetected-chromedriver -i https://pypi.tuna.tsinghua.edu.cn/simple
2.2 Chrome浏览器版本匹配
undetected-chromedriver会自动下载匹配的ChromeDriver版本,但有时需要手动指定:
python复制import undetected_chromedriver as uc
driver = uc.Chrome(
version_main=105 # 指定Chrome主版本号
)
常见版本对应关系:
| Chrome版本 | ChromeDriver版本 |
|---|---|
| 106 | 106.0.5249.61 |
| 105 |
