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

如何在虚拟环境中运行无头Firefox(无需环境内安装)

解决Python虚拟环境中无头Firefox运行的版本兼容问题

核心问题

报错明确指出:geckodriver 0.29.0与Firefox 120.0.1版本不兼容,官方推荐Firefox 120.*搭配geckodriver 0.33.0,这是导致服务意外退出(状态码64)的根本原因。

解决步骤

1. 删除旧版本的geckodriver

先移除虚拟环境中已安装的旧版驱动:

rm /home/guilherme/programming/python/ct-ero/casa-venv/.virtualenv/bin/geckodriver

2. 安装兼容版本的geckodriver

有两种可行方式:

方式一:用webdrivermanager指定版本安装

直接指定需要的0.33.0版本,链接到虚拟环境bin目录:

webdrivermanager firefox:0.33.0 --linkpath .virtualenv/bin

方式二:手动下载安装(适配webdrivermanager异常场景)

  • 下载对应Linux 64位的geckodriver包:
    wget https://github.com/mozilla/geckodriver/releases/download/v0.33.0/geckodriver-v0.33.0-linux64.tar.gz
    
  • 解压文件:
    tar -xvzf geckodriver-v0.33.0-linux64.tar.gz
    
  • 移动到虚拟环境bin目录并赋予执行权限:
    mv geckodriver /home/guilherme/programming/python/ct-ero/casa-venv/.virtualenv/bin/
    chmod +x /home/guilherme/programming/python/ct-ero/casa-venv/.virtualenv/bin/geckodriver
    

3. 验证版本并运行脚本

检查驱动版本是否正确:

geckodriver --version

输出显示geckodriver 0.33.0后,重新执行测试脚本:

python3 test.py

额外优化(可选)

如果想让Selenium自动管理驱动版本,可改用Selenium 4.x自带的驱动管理工具,无需手动维护webdrivermanager:

  1. 替换依赖包:
pip uninstall webdrivermanager
pip install webdriver-manager
  1. 修改Python脚本:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager

options = Options()
options.add_argument("--headless")
# 自动下载并匹配兼容版本的geckodriver
driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()), options=options)
print("Firefox Headless Browser Invoked")
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:43:18