Selenium WebDriver无法使用:遭遇两个异常问题求助
问题分析
报错核心是Selenium 4.x版本的API变更:webdriver.Chrome()不再直接接收驱动路径字符串作为第一个参数,你传入的路径被识别为options对象,导致代码尝试访问字符串的capabilities属性,触发AttributeError,进而引发NoSuchDriverException。
解决方案
方案1:通过Service类指定驱动路径
如果需要手动管理ChromeDriver的路径,需要用selenium.webdriver.chrome.service.Service包装路径后传入:
from selenium import webdriver from selenium.webdriver.chrome.service import Service chrome_driver_path = "<你的ChromeDriver.exe路径>" service = Service(chrome_driver_path) driver = webdriver.Chrome(service=service)
方案2:让Selenium自动管理驱动(推荐)
Selenium 4.6.0及以上版本内置了Selenium Manager,会自动下载匹配浏览器版本的ChromeDriver,无需手动指定路径,代码简化为:
from selenium import webdriver driver = webdriver.Chrome()
补充说明
- 若使用方案2,确保你的Chrome浏览器和Selenium版本兼容,Selenium Manager会自动处理版本匹配问题。
- 若仍需手动指定路径,务必确认ChromeDriver版本与本地Chrome浏览器版本一致(大版本需匹配,比如Chrome 120对应ChromeDriver 120.x)。
内容的提问来源于stack exchange,提问作者startrek-07
相关产品推荐
相关产品推荐

