Linux Mint 22中Python Selenium无法启动浏览器的问题求助
Selenium无法在Linux Mint 22启动浏览器的解决思路
问题详情
在Linux Mint 22笔记本上使用Python和Selenium执行自动化任务时,Chrome和Firefox均无法启动并崩溃,其他Linux/Windows设备可正常运行。
示例代码
from selenium import webdriver from selenium.webdriver.chrome.options import Options options = Options() options.binary_location = '/usr/bin/google-chrome-stable' options.add_argument("--disable-dev-shm-usage") driver = webdriver.Chrome(options=options, executable_path='/home/garri/Downloads/chromedriver_linux64') driver.get('http://google.com/')
报错信息
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: no chrome binary at /usr/bin/google-chrome-stable
已尝试操作
sudo chmod +x /usr/bin/google-chrome-stablesudo chmod +x /home/garri/Downloads/chromedriver_linux64/chromedrive(存在拼写错误)
解决步骤
1. 确认Chrome二进制文件的真实路径
先验证指定的Chrome路径是否存在:
ls -l /usr/bin/google-chrome-stable
如果返回"不存在",执行以下命令查找Chrome实际安装路径:
which google-chrome
将得到的路径替换到代码的options.binary_location中。
2. 严格匹配Chrome与Chromedriver版本
Selenium要求浏览器和驱动版本完全对应,先查看Chrome版本:
google-chrome --version
根据版本号下载对应版本的Chromedriver,注意:
- 解压后将Chromedriver移动到系统全局路径(如
/usr/local/bin/),避免路径错误:
sudo mv /home/garri/Downloads/chromedriver_linux64/chromedriver /usr/local/bin/
- 赋予执行权限:
sudo chmod +x /usr/local/bin/chromedriver
此时代码中可省略executable_path参数,Selenium会自动识别系统路径中的驱动。
3. 修正已尝试操作的拼写错误
之前的命令将chromedriver误写为chromedrive,正确命令为:
sudo chmod +x /home/garri/Downloads/chromedriver_linux64/chromedriver
4. 排查Firefox启动问题
若Firefox同样崩溃,执行类似步骤:
- 查找Firefox路径:
which firefox - 下载对应版本的Geckodriver,放入系统路径并赋予执行权限。
5. 安装浏览器依赖库
Linux Mint 22可能缺少Chrome/Firefox运行必需的系统库,执行以下命令安装:
sudo apt install libnss3 libxss1 libasound2 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libpango-1.0-0 libcairo2
6. 测试无界面启动模式
添加无界面参数,排除桌面环境渲染问题:
options.add_argument("--headless=new")
内容的提问来源于stack exchange,提问作者GarriX
相关产品推荐
相关产品推荐

