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

相关推荐
好运的阿财3 分钟前
大模型热切换功能完整实现指南
人工智能·python·程序人生·开源·ai编程
feng_you_ying_li5 分钟前
C++11,{}的初始化情况与左右值及其引用
开发语言·数据结构·c++
爱码小白9 分钟前
数据库多表命名的通用规范
数据库·python·mysql
GeeLark9 分钟前
GeeLark 3月功能更新合集
ai·自动化·aigc
xiaotao13112 分钟前
JS new 操作符完整执行过程
开发语言·前端·javascript·原型模式
TE-茶叶蛋16 分钟前
结合登录页-PHP基础知识点解析
android·开发语言·php
无巧不成书021816 分钟前
Java包(package)全解:从定义、使用到避坑,新手零基础入门到实战
java·开发语言·package·java包
大喵桑丶17 分钟前
ZABBIX7二次开发AI监控数据调取杂记
大数据·人工智能·python
WangJunXiang632 分钟前
Python网络编程
开发语言·网络·python
guhy fighting34 分钟前
new Map,Array.from,Object.entries的作用以及使用方法
开发语言·前端·javascript