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),我可以提供更具体的步骤!

相关推荐
独行soc16 小时前
2025年渗透测试面试题总结-258(题目+回答)
网络·python·安全·web安全·渗透测试·安全狮
司铭鸿16 小时前
祖先关系的数学重构:从家谱到算法的思维跃迁
开发语言·数据结构·人工智能·算法·重构·c#·哈希算法
程序员小远17 小时前
Appium-移动端自动测试框架详解
自动化测试·软件测试·python·测试工具·职场和发展·appium·测试用例
wavemap17 小时前
先到先得:免费订阅一年ChatGPT Go会员
开发语言·chatgpt·golang
青瓷程序设计17 小时前
花朵识别系统【最新版】Python+TensorFlow+Vue3+Django+人工智能+深度学习+卷积神经网络算法
人工智能·python·深度学习
hyswl66617 小时前
2025年郑州开发小程序公司推荐
python·小程序
B站计算机毕业设计之家17 小时前
基于Python音乐推荐系统 数据分析可视化 协同过滤推荐算法 大数据(全套源码+文档)建议收藏✅
python·数据分析·推荐算法
m***D28617 小时前
JavaScript在Node.js中的内存管理
开发语言·javascript·node.js
我叫张小白。17 小时前
JavaScript现代语法梳理:ES6+核心特性详解
开发语言·javascript·typescript·es6
-森屿安年-17 小时前
LeetCode 283. 移动零
开发语言·c++·算法·leetcode