Windows Ubuntu子系统中Jupyter运行Selenium遇chromedriver路径问题求助
嘿,我来帮你搞定这个问题!你遇到的核心矛盾是WSL(Ubuntu子系统)和Windows是两个完全独立的操作系统环境——Windows的chromedriver.exe是Windows平台的可执行文件,WSL里的Linux根本不认它;而且WSL的PATH环境变量和Windows的PATH是分开的,所以即使Windows端路径正确,WSL也读不到。下面分步骤给你解决:
步骤1:在WSL里安装对应版本的Chrome浏览器
WSL里不能直接用Windows的Chrome,得装Linux版的Chromium(和Chrome完全兼容):
sudo apt update sudo apt install chromium-browser
装完后先查版本,确保后面下的chromedriver和它匹配:
chromium-browser --version
步骤2:下载Linux版的chromedriver
根据刚才查到的Chrome版本,下载对应版本的Linux版chromedriver(注意是.zip压缩包,不是.exe)。比如你查到版本是114.0.5735.90,就在终端里用wget下载:
# 替换成你实际的版本号 wget https://chromedriver.storage.googleapis.com/114.0.5735.90/chromedriver_linux64.zip
步骤3:解压并放到WSL的PATH目录里
解压下载的压缩包:
unzip chromedriver_linux64.zip
然后把解压出来的chromedriver(没有.exe后缀)移到系统默认的PATH目录,比如/usr/local/bin,这样Selenium就能直接找到它:
sudo mv chromedriver /usr/local/bin/
验证一下是否生效:
chromedriver --version
能正常输出版本号就说明配置成功了。
步骤4:调整你的Python代码(可选)
有时候WSL里的Chromium需要指定二进制文件路径,你可以在代码里加上这段:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # 指定WSL里Chromium的路径 options.binary_location = "/usr/bin/chromium-browser" driver = webdriver.Chrome(options=options)
WSL 2的文件存在Windows的虚拟磁盘中,不建议直接修改这个路径下的文件(容易损坏WSL的文件系统),但可以通过Windows文件资源管理器访问:
- 打开文件资源管理器,在地址栏输入
\\wsl$\Ubuntu(把Ubuntu换成你的子系统名称,比如Ubuntu-22.04),就能直接浏览WSL里的所有文件了。
注意:如果要修改文件,建议在WSL终端里操作,不要直接在Windows这边改,避免出现权限或文件损坏问题。
如果你不想把chromedriver放到系统目录,想放在自己的文件夹(比如~/bin),可以编辑~/.bashrc把这个目录加入PATH:
- 打开
.bashrc文件:
nano ~/.bashrc
- 在文件末尾添加一行:
export PATH="$HOME/bin:$PATH"
- 保存退出:按
Ctrl+O,回车确认,再按Ctrl+X。 - 让配置立即生效:
source ~/.bashrc
内容的提问来源于stack exchange,提问作者Vijay Ramesh

