Selenium报错:找不到chromedriver.exe的原因及修复方案
Selenium ChromeDriver 找不到文件错误的原因与修复方案
问题描述
用户编写的Selenium代码如下:
from selenium import webdriver patha ="\driver\chromedriver.exe" driver=webdriver.Chrome(executable_path=patha) driver.get("https://www.google.com/")
运行后触发FileNotFoundError: [WinError 2] 系统找不到指定的文件,后续还出现WebDriverException提示「'chromedriver.exe' executable needs to be in PATH」,以及AttributeError报错。
错误原因
- 字符串转义问题:Python中
\d是转义字符,"\driver\chromedriver.exe"实际会被解析成"riverhromedriver.exe",完全不是正确的文件路径,系统自然找不到文件。 - 相对路径写法错误:即便转义正常,开头的
\会让系统认为是从磁盘根目录找driver文件夹,而非脚本所在目录的子文件夹,路径指向错误。 - Selenium版本适配问题:如果使用的是Selenium 4.x版本,
executable_path参数已被弃用,旧写法容易引发兼容性问题。
修复方案
方法1:修正相对路径的写法
用原始字符串或双反斜杠避免转义,同时修正相对路径的格式:
from selenium import webdriver # 方式1:原始字符串(推荐),前面加r patha = r".\driver\chromedriver.exe" # 方式2:双反斜杠转义 # patha = ".\\driver\\chromedriver.exe" driver = webdriver.Chrome(executable_path=patha) driver.get("https://www.google.com/")
注意:要保证driver文件夹和你的Python脚本在同一目录下,且文件夹内确实存在chromedriver.exe。
方法2:使用绝对路径(最稳妥)
直接写入chromedriver.exe的完整绝对路径,彻底避免路径解析问题:
from selenium import webdriver # 替换成你实际的chromedriver.exe路径 patha = r"C:\Users\User\Desktop\python\seleniumproject1\driver\chromedriver.exe" driver = webdriver.Chrome(executable_path=patha) driver.get("https://www.google.com/")
方法3:适配Selenium 4.x的官方推荐写法
Selenium 4.x开始建议用Service类管理驱动,兼容性更好:
from selenium import webdriver from selenium.webdriver.chrome.service import Service service = Service(r".\driver\chromedriver.exe") driver = webdriver.Chrome(service=service) driver.get("https://www.google.com/")
方法4:将ChromeDriver加入系统PATH(一劳永逸)
- 找到
chromedriver.exe所在的文件夹路径。 - 打开「此电脑」→「属性」→「高级系统设置」→「环境变量」。
- 在系统变量的
Path中添加该文件夹的路径。 - 重启命令行或IDE后,代码可以简化为:
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.google.com/")
内容的提问来源于stack exchange,提问作者Aswin
相关产品推荐
相关产品推荐

