Selenium使用chromedriver时触发NoSuchDriverException问题求助
解决方法
修正ChromeDriver路径与文件名
Windows系统中路径分隔符需用双反斜杠\\或正斜杠/,单斜杠会被解析为转义字符导致路径无效;同时Windows下ChromeDriver的完整文件名是chromedriver.exe,你漏了.exe后缀。修改主函数中的路径:driver: str = 'd:\\python\\chromedriver-win64\\chromedriver-win64\\chromedriver.exe'修改后确认该路径下确实存在对应文件。
确保ChromeDriver与Chrome版本匹配
ChromeDriver版本必须和本地安装的Chrome浏览器大版本完全一致(比如Chrome是125.x,ChromeDriver也要用125.x系列)。打开Chrome的设置-关于Chrome查看当前版本,再下载对应版本的ChromeDriver替换现有文件。改用自动驱动管理工具
手动配置路径容易出错,推荐用webdriver-manager自动匹配并下载驱动:- 先安装依赖包:
pip install webdriver-manager - 修改
Browser类的初始化方法,无需手动指定驱动路径:from webdriver_manager.chrome import ChromeDriverManager class Browser: """Create a browser that scrapes any url for e-mail addresses""" def __init__(self): print('Starting up browser...') self.chrome_options = Options() self.chrome_options.add_argument("--headless") self.chrome_options.add_argument("--disable-extensions") self.chrome_options.add_argument("--disable-gpu") # 自动获取匹配版本的ChromeDriver self.service = Service(ChromeDriverManager().install()) self.browser = webdriver.Chrome(service=self.service, options=self.chrome_options)
同时主函数可以简化为:
def main(): browser = Browser() # 后续逻辑不变- 先安装依赖包:
检查Chrome浏览器安装状态
确认本地已正确安装Chrome浏览器,且能正常启动。若Chrome未安装或安装路径异常,Selenium无法正常关联驱动环境。
内容的提问来源于stack exchange,提问作者Kaustav Majumdar
相关产品推荐
相关产品推荐

