调用Selenium的webdriver.Chrome()时出现错误,求解决方法
问题
我运行以下代码时遇到错误:
from selenium import webdriver driver = webdriver.Chrome()
报错信息如下:
Traceback (most recent call last): File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start stdin=PIPE) File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__ restore_signals, start_new_session) File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。 在处理上述异常期间,又发生了另一个异常: Traceback (most recent call last): File "<pyshell#2>", line 1, in <module> driver = webdriver.Chrome() File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__ self.service.start() File "C:\Users\User\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
我不清楚这是什么问题,也未找到有相同问题的用户,请问有人知道解决方法吗?
解决方法
别担心,这个问题其实挺常见的,核心原因就是你的Python程序找不到Chrome浏览器对应的驱动程序chromedriver.exe。下面给你几个实用的解决办法:
方法一:手动指定chromedriver路径
不用改系统设置,直接在代码里告诉程序驱动的具体位置就行。比如你把chromedriver.exe放在了C:\tools\chromedriver.exe,代码可以改成这样:from selenium import webdriver driver = webdriver.Chrome(executable_path='C:\\tools\\chromedriver.exe')注意路径里的反斜杠要写成双反斜杠,或者用正斜杠
C:/tools/chromedriver.exe也可以。方法二:将chromedriver添加到系统PATH
- 先下载和你Chrome浏览器版本完全匹配的chromedriver(比如你的Chrome是114.x版本,就下载对应114系列的驱动)。
- 把下载好的
chromedriver.exe放到一个已经在系统PATH中的文件夹,比如你的Python安装目录C:\Users\User\AppData\Local\Programs\Python\Python37-32,或者专门建一个工具文件夹,再把这个文件夹添加到系统环境变量PATH里。 - 重启你的命令行或者Python IDE,再运行代码就可以正常工作了。
方法三:用webdriver-manager自动管理驱动
这个方法最省心,完全不用手动下载驱动。先安装这个包:pip install webdriver-manager然后修改你的代码:
from selenium import webdriver from webdriver_manager.chrome import ChromeDriverManager driver = webdriver.Chrome(ChromeDriverManager().install())它会自动检测你本地Chrome的版本,下载对应的驱动,还会帮你处理路径问题,非常方便。
另外要提醒你,chromedriver的版本必须和你本地Chrome的版本对应,哪怕小版本号不匹配都可能报错,所以下载的时候一定要注意版本一致哦。
内容的提问来源于stack exchange,提问作者user11819883
相关产品推荐
相关产品推荐

