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

相关推荐
minji...7 小时前
Linux相关工具vim/gcc/g++/gdb/cgdb的使用详解
linux·运维·服务器·c++·git·自动化·vim
huohaiyu7 小时前
synchronized (Java)
java·开发语言·安全·synchronized
_OP_CHEN7 小时前
C++基础:(九)string类的使用与模拟实现
开发语言·c++·stl·string·string类·c++容器·stl模拟实现
蓝天智能7 小时前
QT MVC中View的特点及使用注意事项
开发语言·qt·mvc
松果集7 小时前
【1】数据类型2
python
且慢.5898 小时前
命令行的学习使用技巧
python
木觞清8 小时前
喜马拉雅音频链接逆向实战
开发语言·前端·javascript
海琴烟Sunshine8 小时前
leetcode 66.加一 python
python·算法·leetcode
wuxuanok8 小时前
苍穹外卖 —— 公共字段填充
java·开发语言·spring boot·spring·mybatis