You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:Selenium无法识别已更新的Chrome WebDriver版本

解决Chrome与WebDriver版本不匹配问题

一、修正代码中的核心错误

你的代码存在两处关键错误,会直接导致驱动加载异常:

  • 错误设置浏览器路径:options.binary_location被设为chromedriver.exe,但这个参数应该指向Google Chrome的可执行文件路径(例如C:\Program Files\Google\Chrome\Application\chrome.exe),而非驱动文件。
  • 重复的配置参数:webdriver.Chrome()同时传入options和已弃用的chrome_options,会引发配置冲突,导致驱动加载异常。

修正后的代码:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By

# 配置驱动路径(确保此文件是109版本)
chromedriver_path = "chromedriver.exe"
options = Options()

# 设置Chrome浏览器的实际安装路径,根据你的系统调整
options.binary_location = r'C:\Program Files\Google\Chrome\Application\chrome.exe'
options.headless = True  # 隐藏GUI
options.add_argument("start-maximized")  # 全屏窗口

# 禁用图片和JavaScript(合并到同一options对象)
options.add_argument("--blink-settings=imagesEnabled=false")
options.add_argument("--disable-javascript")

# 初始化驱动,仅传入正确的路径和配置
driver = webdriver.Chrome(executable_path=chromedriver_path, options=options)

# 需先定义目标URL
url = "https://你的目标网址.com"
driver.get(url)

pb = driver.find_elements(By.XPATH, ".//*")
lista = list()
x = 0

for p in pb:
    tag = p.tag_name.lower()
    if tag in ['input', 'select', 'textarea', 'button']:
        x += 1
        # 处理class属性为空的情况
        class_list = str(p.get_attribute('class')).split(" ") if p.get_attribute('class') else []
        lista.append([x, tag, p.get_attribute('type'), p.get_attribute('id'), class_list])
        if x > 100:
            break

# 处理无表单元素的情况(原代码判断逻辑错误,lista初始为[]不会是None)
if not lista:
    lista.append("no hay formularios en la pagina")

driver.quit()
print(lista)

二、彻底清理旧版本WebDriver

即使你下载了新驱动,系统或脚本目录可能残留旧版本:

  • 检查脚本所在文件夹:打开CMD进入该目录,执行chromedriver.exe --version,确认版本为109.0.5414.75。若不是,替换为你下载的新驱动。
  • 排查系统所有驱动路径:在CMD中执行where chromedriver.exe,会列出所有找到的驱动文件,删除所有版本不符的旧文件。

三、验证版本匹配性

  1. 打开Chrome,输入chrome://version/确认浏览器版本为109.0.5414.75。
  2. 执行驱动目录下的chromedriver.exe --version,确保驱动版本与浏览器完全一致。

四、重启运行环境

修改完成后,关闭所有CMD窗口和Python编辑器,重新打开执行脚本,避免缓存导致旧驱动被加载。


内容的提问来源于stack exchange,提问作者Yoseph_Reyes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 20:40:47