You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ChromeDriver需在PATH中异常排查:使用ChromeDriverManager仍报错

ChromeDriver PATH报错及'nul'文件找不到问题分析

问题描述

此前功能正常且未做任何变更,近期出现ChromeDriver需在系统PATH中的报错。已尝试使用ChromeDriverManager().install()自动安装,也手动下载并指定ChromeDriver路径,但问题依旧。

使用代码:

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))

报错日志显示ChromeDriver已缓存,但先触发FileNotFoundError: [Errno 2] No such file or directory: 'nul',最终引发selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH。

可能原因

  • 系统平台识别错误:Selenium或ChromeDriverManager错误识别了当前系统(比如把Linux/macOS识别为Windows),导致两处问题:一是尝试调用Windows专属的空设备文件nul(类Unix系统对应的是/dev/null),触发文件找不到错误;二是下载了Windows版本的chromedriver.exe,在非Windows系统中无法执行,进而提示需要将其加入PATH。
  • 权限不足:缓存的ChromeDriver文件缺少执行权限(仅针对Linux/macOS),导致无法正常启动,系统误以为文件不存在,触发PATH相关报错,而nul错误是伴随的系统差异问题。
  • 版本不兼容:ChromeDriverManager、Selenium、Chrome浏览器三者版本不匹配,导致ChromeDriver无法正常初始化,进而触发一系列连锁错误。
  • 环境变量变更:系统PATH环境变量被意外修改,导致即使ChromeDriver存在,系统也无法检索到,同时初始化过程中触发nul相关的系统调用错误。

解决方向

  • 检查当前系统平台,确认ChromeDriverManager下载的是对应平台的版本:Windows对应chromedriver.exe,Linux/macOS对应无后缀的chromedriver。
  • 若为Linux/macOS系统,给缓存的ChromeDriver添加执行权限:
    chmod +x /path/to/your/cached/chromedriver
    
  • 同步Chrome浏览器、Selenium、ChromeDriverManager的版本,确保三者兼容(比如Chrome浏览器版本需与ChromeDriver版本一致,Selenium版本需适配ChromeDriver)。
  • 手动指定ChromeDriver路径时,使用绝对路径且确认文件为对应平台的可执行文件,示例:
    # Linux/macOS示例
    driver = webdriver.Chrome(service=Service('/usr/local/bin/chromedriver'))
    # Windows示例
    driver = webdriver.Chrome(service=Service('C:\\path\\to\\chromedriver.exe'))
    

内容的提问来源于stack exchange,提问作者Steelhard2

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 15:35:18