一、下载匹配版本的ChromeDriver
1. 查看Chrome浏览器版本
- 打开Chrome浏览器,在地址栏输入:
chrome://settings/help
- 记录完整版本号(如:
133.0.6943.127
),重点记住主版本号133
。
- 记录完整版本号(如:
2. 下载对应驱动
- 国内镜像下载(推荐):
https://registry.npmmirror.com/binary.html?path=chrome-for-testing/
- 进入后找到与浏览器主版本一致的文件夹(如
133.0.6943.xx
)。 - 下载对应系统的驱动压缩包:
- Windows:选择
chromedriver-win64.zip
(64位系统)。
- Windows:选择
- 进入后找到与浏览器主版本一致的文件夹(如
- 官方下载(备用):
https://sites.google.com/chromium.org/driver/downloads
💡 注意:
- 驱动minor版本号(如
0
)与浏览器不一致不影响使用,只需主版本一致(如133
)。 - 避免下载
chrome-win64.zip
(这是Chrome浏览器安装包,非驱动)。
二、解压驱动文件
- 将下载的
chromedriver-win64.zip
解压到 任意目录(建议创建专用文件夹,如C:\Tools\chromedriver
)/ Chrome安装目录下 - 解压后得到
chromedriver.exe
,路径示例(Chrome安装目录下):C:\Users\user\AppData\Local\Google\Chrome\Application
三、配置系统环境变量
目的:让系统全局识别chromedriver.exe
,无需每次指定路径。
操作步骤:
-
打开环境变量设置:
- 按
Win + R
组合键,输入sysdm.cpl
并回车 → 点击“高级”选项卡 → 点击“环境变量”。
- 按
-
编辑用户变量:
- 在“用户变量”中找到
Path
变量 → 点击“编辑” → 点击“新建”。 - 输入驱动所在路径(如
C:\Users\user\AppData\Local\Google\Chrome\Application
),点击“确定”保存。
- 在“用户变量”中找到
-
验证配置:
- 打开命令提示符(CMD),输入:
chromedriver --version
- 若显示驱动版本号(如
133.0.6943.0
),则配置成功。
- 打开命令提示符(CMD),输入:
四、安装与测试Selenium
1. 安装Selenium库
- 确保已安装 Python 3.xx,在终端运行:
pip install selenium
2. 测试代码(Selenium 4标准写法)
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
# 初始化驱动(自动读取环境变量中的路径)
driver = webdriver.Chrome(service=Service())
# 访问网页(以Google为例)
driver.get("https://www.baidu.com")
print("页面标题:", driver.title) # 输出:百度一下,你就知道
# 关闭浏览器
driver.quit()
💡 若报错解决方案:
- 情况1:提示“无法找到驱动”
- 原因:环境变量未生效或路径错误。
- 解决:重启终端,或在代码中显式指定路径:
service = Service(executable_path=r'C:\Tools\chromedriver\chromedriver.exe') driver = webdriver.Chrome(service=service)
- 情况2:浏览器闪退或版本不匹配
- 原因:驱动与浏览器主版本不一致。
- 解决:重新下载主版本一致的驱动(如浏览器
133.x
,驱动必须为133.x
)。
五、常见问题与解决方案
问题1:终端输入chromedriver
提示“不是内部或外部命令”
- 原因:环境变量未正确配置或未生效。
- 解决:
- 检查路径是否正确(如
C:\Tools\chromedriver
是否存在chromedriver.exe
)。 - 重启终端或电脑,确保环境变量刷新。
- 检查路径是否正确(如
问题2:Selenium报错“权限拒绝”
- 原因:驱动文件无执行权限或终端权限不足。
- 解决:
- 右键驱动文件 → “属性” → “安全” → 确保当前用户有“读取和执行”权限。
- 以管理员身份运行PyCharm或终端。
问题3:浏览器启动后空白或卡顿
- 原因:可能是Chrome浏览器后台进程残留。
- 解决:
- 任务管理器中结束所有
chrome.exe
和chromedriver.exe
进程。 - 尝试添加启动参数(如无痕模式):
from selenium.webdriver.chrome.options import Options options = Options() options.add_argument("--incognito") # 无痕模式 driver = webdriver.Chrome(service=Service(), options=options)
- 任务管理器中结束所有