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

新手求助:Python Selenium运行报错AttributeError: 'str'无'capabilities'属性

问题解决:AttributeError: 'str' object has no attribute 'capabilities'

错误原因

你代码中driver = webdriver.Chrome(ChromeDriverManager().install())的写法是Selenium 3.x的旧用法,而Selenium 4.x的webdriver.Chrome()构造函数不再接受直接传入驱动路径字符串,它需要的是ChromeOptions对象或Service对象,这就导致了报错里的字符串没有capabilities属性的问题。

解决方案

方案1:使用Selenium自带的驱动管理(推荐,无需额外依赖)

Selenium 4.6及以上版本内置了Selenium Manager,会自动检测、下载并匹配对应版本的浏览器驱动,不需要再安装webdriver-manager包。代码示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 初始化浏览器配置(可选,可添加无头模式等参数)
chrome_options = Options()
# chrome_options.add_argument("--headless=new")  # 如需无头运行可取消注释

# 启动浏览器
driver = webdriver.Chrome(options=chrome_options)

# 测试访问网页
driver.get("https://www.example.com")

# 后续操作...

# 关闭浏览器
driver.quit()

方案2:继续使用ChromeDriverManager(不推荐)

如果一定要保留webdriver-manager的使用,需要将驱动路径包装为Service对象后传入:

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

# 将驱动路径包装为Service对象
service = Service(ChromeDriverManager().install())

# 启动浏览器
driver = webdriver.Chrome(service=service)

# 测试访问网页
driver.get("https://www.example.com")

# 后续操作...

# 关闭浏览器
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 22:30:33