使用Python+Selenium调用旧版Chrome时遇无法找到Chrome二进制文件错误
解决WebDriverException: unknown error: cannot find Chrome binary问题
嘿,我之前也碰到过一模一样的问题,大概率是Chrome二进制文件的路径没设置对,或者路径格式踩了坑,给你几个实用的排查和解决方向:
1. 先确认Chrome二进制文件的真实位置
你是手动下载的旧版Chrome,肯定不是系统默认安装路径对吧?先找到你解压/存放Chrome的文件夹,定位到核心执行文件:
- Windows:找
chrome.exe,比如你把Chrome55放在D:\OldChrome\Chrome55里,完整路径就是D:\OldChrome\Chrome55\chrome.exe - Mac:要指向应用包内部的执行文件,路径是
/Applications/Google Chrome 55.app/Contents/MacOS/Google Chrome - Linux:一般是
google-chrome文件,比如你解压到了~/Downloads/chrome-55,路径就是~/Downloads/chrome-55/google-chrome
先手动双击这个文件,确认Chrome能正常启动,排除文件损坏的可能性。
2. 修正代码里的路径格式
代码里的路径很容易出问题,尤其是Windows的反斜杠,推荐两种写法避免转义错误:
- 用原始字符串:在路径前加
r,比如r'D:\OldChrome\Chrome55\chrome.exe',这样反斜杠不会被当成转义字符 - 或者用双反斜杠:
'D:\\OldChrome\\Chrome55\\chrome.exe'
给你一个完整的正确代码示例:
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() # 替换成你自己的Chrome二进制文件路径 options.binary_location = r'D:\OldChrome\Chrome55\chrome.exe' # 如果你没把ChromeDriver加到系统环境变量里,记得指定它的路径 driver = webdriver.Chrome(executable_path=r'D:\OldChrome\chromedriver.exe', options=options) # 测试一下是否能正常启动 driver.get("https://www.google.com")
3. 检查文件权限(Linux/Mac用户)
如果是Linux或Mac系统,要确保Chrome二进制文件有可执行权限:
打开终端,执行这条命令(替换成你的Chrome路径):
chmod +x /path/to/your/google-chrome
4. 额外避坑提醒
- 别把Chrome放在带中文的路径下,容易出现编码识别问题,建议移到纯英文路径里
- 你选的ChromeDriver 2.26和Chrome 55版本是匹配的(2.26对应Chrome 53-55),这部分没问题不用改
按这些步骤试一遍,应该就能解决找不到二进制文件的问题啦!
内容的提问来源于stack exchange,提问作者Venetian
相关产品推荐
相关产品推荐

