python 自动化采集 ChromeDriver 安装

ChromeDriver 是一个用于自动化控制 Google Chrome 浏览器的工具,常与 Selenium 一起使用,用于 Web 自动化测试、爬虫、UI 自动化等场景。以下是 ChromeDriver 的详细使用教程。


一、安装准备

1. 安装 Python(如使用 Python)

如果你使用 Python,确保已安装 Python(推荐 3.7+):

bash 复制代码
python --version

2. 安装 Selenium

bash 复制代码
pip install selenium

3. 下载 Chrome 浏览器

确保你的系统已安装 Google Chrome 浏览器。

可前往 https://www.google.com/chrome/ 下载。

4. 下载 ChromeDriver

ChromeDriver 的版本必须与你安装的 Chrome 浏览器版本匹配。


二、配置 ChromeDriver

方法一:将 ChromeDriver 放入系统 PATH

  • Windows :将 chromedriver.exe 放入 C:\Windows 或添加其所在目录到系统环境变量 PATH。

  • macOS/Linux :将 chromedriver 放入 /usr/local/bin 或其他 PATH 目录,并赋予执行权限:

    bash 复制代码
    chmod +x chromedriver
    sudo mv chromedriver /usr/local/bin/

方法二:在代码中指定路径(推荐初学者)

python 复制代码
from selenium import webdriver

# 指定 chromedriver 路径
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

⚠️ 注意:Selenium 4.6+ 默认使用 WebDriver Manager 自动管理驱动,无需手动下载。


三、使用 WebDriver Manager(推荐方式)

安装 webdriver-manager

bash 复制代码
pip install webdriver-manager

示例代码(自动下载匹配的 ChromeDriver)

python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 自动下载并配置 ChromeDriver
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

# 打开网页
driver.get("https://www.baidu.com")
print(driver.title)

# 关闭浏览器
driver.quit()

四、常用操作示例

1. 元素定位

python 复制代码
from selenium.webdriver.common.by import By

# 通过 ID 查找
element = driver.find_element(By.ID, "kw")

# 通过 CSS 选择器
element = driver.find_element(By.CSS_SELECTOR, "input#kw")

# 通过 XPath
element = driver.find_element(By.XPATH, "//input[@id='kw']")

2. 模拟输入与点击

python 复制代码
element.send_keys("Selenium")
search_btn = driver.find_element(By.ID, "su")
search_btn.click()

3. 等待页面加载(显式等待)

python 复制代码
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, "result")))

4. 截图

python 复制代码
driver.save_screenshot("screenshot.png")

五、常见问题

Q1: SessionNotCreatedException: This version of ChromeDriver only supports Chrome version XX

  • 原因:ChromeDriver 与 Chrome 浏览器版本不匹配。
  • 解决:升级 Chrome 或下载对应版本的 ChromeDriver;或使用 webdriver-manager 自动处理。

Q2: 驱动无法执行(macOS/Linux)

  • 解决:运行 chmod +x chromedriver 赋予执行权限。

Q3: 浏览器自动关闭太快看不到效果?

  • driver.quit() 前加 input("按回车退出...") 暂停。

六、进阶:无头模式(Headless)

python 复制代码
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument("--headless")  # 无界面模式
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

driver = webdriver.Chrome(service=service, options=chrome_options)

七、参考资料


如果你告诉我你使用的操作系统(Windows/macOS/Linux)和编程语言(如 Python/Java/JS),我可以提供更具体的步骤!

相关推荐
EntyIU15 小时前
uv操作指南
python·uv
weixin_66815 小时前
DGX-spark上成功部署Voxtral-Mini-4B-Realtime-2602支持realtime ws接口
开发语言·python
IT策士15 小时前
Django 从 0 到 1 打造完整电商平台:个人中心与用户信息修改
后端·python·django
ZC跨境爬虫15 小时前
模块化烹饪小程序开发日记 Day5:(后端Flask接口开发与AI智能解析菜谱的实现)
前端·人工智能·后端·python·ui·flask
财经资讯数据_灵砚智能15 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月21日
大数据·人工智能·python·信息可视化·自然语言处理
上弦月-编程15 小时前
Java类与对象:编程核心解密
java·开发语言·jvm
weixin_3077791315 小时前
基于Vosk与CTranslate2的实时语音识别翻译系统 —— 完整C++实现详解
人工智能·算法·自动化·语音识别·原型模式
大大杰哥15 小时前
从 Volatile 到 ThreadLocal:Java 线程安全机制备忘
java·开发语言·jvm
Artech15 小时前
[对比学习LangChain和MAF-03]完全不同的Agent设计哲学
python·ai·langchain·c#·agent·maf
崇山峻岭之间15 小时前
matlab绘制复杂曲线
开发语言·matlab