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

相关推荐
lupai2 分钟前
手机在网状态接口实测效果与质量评估
大数据·python·智能手机·api接口
「QT(C++)开发工程师」24 分钟前
C++ auto 用法详解
开发语言·c++
天远Date Lab29 分钟前
零信任架构实战:基于天远双人婚姻评估查询构建自动化房产按揭联合审查网关
运维·人工智能·架构·自动化
OPEN-F31 分钟前
C++STL教程:容器适配器与实用工具
开发语言·c++
yaoxin52112343 分钟前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F1 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
有点。1 小时前
C++二叉搜索树进阶
开发语言·c++
HugoStudio_SWAN1 小时前
【擦除重绘】C++ 控制台动画:弹跳 Logo DVD 屏保效果
开发语言·c++·学习·程序人生
荷蒲1 小时前
【小白量化Qbuddy】用AI设计miniQMT指标公式计算量化平台
人工智能·python·机器人
阿童木写作1 小时前
跨境电商图片翻译工具,批量翻译视频字幕一键抠图
人工智能·python·音视频