Python使用Selenium启动Chrome时AttributeError错误的解决方法
解决Selenium启动Chrome时的AttributeError错误
错误原因
你的代码driver = webdriver.Chrome('C:\\BrowserDriver\\chromedriver.exe')不符合Selenium 4及以上版本的API规范:webdriver.Chrome()的第一个参数不再接受驱动路径字符串,而是需要传入配置选项或Service对象,直接传字符串会被识别为options参数,导致代码尝试访问字符串的capabilities属性,触发AttributeError。
解决方法
方法1:手动指定驱动路径(使用Service对象)
通过Service类封装驱动路径,再传给webdriver.Chrome():
from selenium import webdriver from selenium.webdriver.chrome.service import Service # 初始化Service对象,传入chromedriver路径 chrome_service = Service('C:\\BrowserDriver\\chromedriver.exe') # 启动Chrome浏览器 driver = webdriver.Chrome(service=chrome_service) # 示例:打开网页 driver.get("https://www.google.com")
方法2:让Selenium自动管理驱动(推荐)
Selenium 4.6.0及以上版本内置了Selenium Manager工具,会自动检测浏览器版本并下载匹配的驱动,无需手动指定路径:
from selenium import webdriver # 直接启动Chrome,Selenium自动处理驱动 driver = webdriver.Chrome() driver.get("https://www.google.com")
额外注意事项
- 若手动指定驱动,必须保证Chrome浏览器版本与chromedriver版本完全匹配,版本不匹配会导致启动失败
- 使用自动管理驱动时,需确保网络正常,以便Selenium Manager下载驱动文件
内容的提问来源于stack exchange,提问作者pooja
相关产品推荐
相关产品推荐

