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

Selenium启动Chrome失败求助:版本兼容及代码问题

解决Chrome与ChromeDriver兼容及启动报错问题

1. 修复 AttributeError: 'str' object has no attribute 'capabilities'

你第一段代码的写法是旧版Selenium(3.x及以下)的用法,新版Selenium 4.x+已经不再支持直接将驱动路径作为参数传入webdriver.Chrome(),必须通过Service类指定驱动路径。

修正后的代码:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

chromepath = r"C:\Users\hp\Desktop\Automation\chromedriver.exe"
# 用Service类封装驱动路径
service = Service(chromepath)
driver = webdriver.Chrome(service=service)
driver.get('http://www.google.com')

# 避免浏览器执行完就关闭,等待用户输入后再退出
input("按回车关闭浏览器...")
driver.quit()

2. 解决ChromeDriver与Chrome版本不兼容问题

你的Chrome版本是123.0.6312.106,必须使用匹配的ChromeDriver版本(官方推荐123.0.6312.105),你之前用的114版本驱动完全不匹配,这就是浏览器闪关的核心原因。

手动匹配驱动

直接下载123.0.6312.105版本的ChromeDriver,替换你当前路径下的旧驱动文件即可。

自动管理驱动(更省心)

安装webdriver-manager库,它会自动检测你的Chrome版本,下载并配置对应驱动,无需手动操作:

  1. 安装库:
pip install webdriver-manager
  1. 使用代码:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager

# 自动下载匹配的驱动并启动浏览器
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get('http://www.google.com')

input("按回车关闭浏览器...")
driver.quit()

补充:浏览器闪关的额外原因

之前的代码没有阻止程序结束的逻辑,当driver.get()执行完成后,脚本就会终止,浏览器随之关闭。加上input()语句可以让浏览器保持打开状态,直到你主动触发退出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 13:57:48