在 Python 中使用 ChromeDriver 来自动化浏览器操作,通常有两种主流方式:
- 传统方式:手动下载 ChromeDriver 并配合
selenium使用(已逐渐过时)。 - 推荐方式:使用
webdriver-manager自动管理驱动,或直接使用 Selenium 4+ 内置的驱动管理功能。
✅ 推荐方式:使用 Selenium 4+ 自动管理驱动(无需手动下载 ChromeDriver)
从 Selenium 4.6+ 开始,Selenium 内置了驱动管理器,可以自动下载和配置 ChromeDriver,无需手动处理版本匹配问题。
安装依赖
pip install selenium
示例代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
# 配置 Chrome 选项
chrome_options = Options()
# chrome_options.add_argument("--headless") # 无头模式(可选)
# chrome_options.add_a
rgument("--disable-gpu") # 某些系统需要
# 创建 Service 对象(Selenium 4.6+ 自动管理驱动)
service = Service()
# 初始化 WebDriver
driver = webdriver.Chrome(service=service, options=chrome_options)
try:
driver.get("https://www.example.com")
print("页面标题:", driver.title)
print("当前 URL:", driver.current_url)
finally:
driver.quit()
✅ 优点:无需手动下载 ChromeDriver,自动匹配 Chrome 浏览器版本。
🔄 备选方式:使用 webdriver-manager 库
如果你使用的是 Selenium 4.6 以下版本,或者希望更明确地管理驱动,可以使用 webdriver-manager 库。
安装依赖
pip install selenium webdriver-manager
示例代码
from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options from webdriver_manager.chrome import ChromeDriverManager # 配置 Chrome选项 chrome_options = Options() # chrome_options.add_argument("--headless") # 使用 webdriver-manager 自动获取 ChromeDriver service = Service(ChromeDriverManager().install()) # 初始化 WebDriver driver = webdriver.Chrome(service=service, options=chrome_options) try: driver.get("https://www.example.com") print("页面标题:", driver.title) finally: driver.quit()
⚠️ 传统方式:手动下载 ChromeDriver(不推荐)
如果你必须手动管理 ChromeDriver:
- 查看你的 Chrome 浏览器版本(地址栏输入
chrome://version/)。 - 前往 ChromeDriver 下载页面 下载对应版本的驱动。
- 将
chromedriver可执行文件放在系统 PATH 中,或在代码中指定路径。
示例代码
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
# 指定 ChromeDriver 路径
driver = webdriver.Chrome(
executable_path="/path/to/chromedriver",
options=chrome_options
)
driver.get("https://www.example.com")
print(driver.title)
driver.quit()
🔍 常见问题
| 问题 | 解决方案 |
|---|---|
SessionNotCreatedException |
Chrome 浏览器版本与 ChromeDriver 版本不匹配,建议使用自动管理方式 |
WebDriverException: unknown error |
确保 Chrome 浏览器已安装,且驱动版本兼容 |
| 无头模式报错 | 添加 --disable-gpu 和 --no-sandbox 参数(Linux 环境常见) |
📌 最佳实践建议
- 优先使用 Selenium 4.6+ 内置驱动管理,最简单可靠。
- 如果项目需要兼容旧版本 Selenium,使用
webdriver-manager。 - 避免手动下载 ChromeDriver,除非有特殊需求(如离线环境)。
- 在生产环境中,建议使用无头模式(
--headless)以提高性能。
首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/485528.html



