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

Ubuntu 22.04中Selenium 4搭配WebDriver Manager启动Firefox失败求助

问题与解决方法

问题详情

  • 系统:Ubuntu 22.04
  • Selenium版本:4.8
  • 操作流程:
    1. 手动下载最新Geckodriver,设置可执行权限后移至/usr/local/bin/
    2. 安装WebDriver Manager后运行测试代码
  • 测试代码:
# selenium 4 - updating geckodriver for firefox
from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))
  • 核心报错:
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 127
  • 完整错误日志:
[WDM] - Downloading: 19.0kB [00:00, 13.9MB/s]                   
Traceback (most recent call last):
  File "/home/gizmo/PycharmProject/PythonProjects/web/firefox_selenium.py", line 6, in <module>
    driver = webdriver.Firefox(service=Service(GeckoDriverManager().install()))
  File "/home/gizmo/PycharmProject/PythonProjects/venv/lib/python3.10/site-packages/selenium/webdriver/firefox/webdriver.py", line 196, in __init__
    super().__init__(command_executor=executor, options=options, keep_alive=True)
  File "/home/gizmo/PycharmProject/PythonProjects/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 286, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/gizmo/PycharmProject/PythonProjects/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 378, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/gizmo/PycharmProject/PythonProjects/venv/lib/python3.10/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
    self.error_handler.check_response(response)
  File "/home/gizmo/PycharmProject/PythonProjects/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 127
  • 目标:通过WebDriver Manager管理Geckodriver并验证环境配置正确

解决步骤

1. 补装系统依赖库

Status 127多数是Geckodriver缺少运行依赖,执行以下命令安装必需库:

sudo apt install libx11-xcb1 libdbus-glib-1-2 libgtk-3-0 libxt6

2. 删除手动安装的Geckodriver避免冲突

WebDriver Manager会自动下载并管理独立的Geckodriver版本,手动放置的版本会导致路径冲突,执行删除:

sudo rm /usr/local/bin/geckodriver

3. 修正代码中的别名不一致问题

错误日志显示代码中使用了Service而非导入的FirefoxService,统一写法避免潜在问题,修改后的测试代码:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service as FirefoxService
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(service=FirefoxService(GeckoDriverManager().install()))
# 增加验证步骤,打开百度并打印标题
driver.get("https://www.baidu.com")
print("页面标题:", driver.title)
driver.quit()

4. 验证Geckodriver可独立运行

直接运行WebDriver Manager下载的Geckodriver,确认无依赖问题:

# 执行以下命令查看版本,路径会自动匹配下载的版本
~/.wdm/drivers/geckodriver/linux64/*/geckodriver --version

如果能正常输出版本信息,说明Geckodriver本身正常;若仍报错,重新执行步骤1补装依赖。

5. 确保Firefox版本兼容

Selenium 4.8需要匹配对应版本的Firefox,检查并更新Firefox:

# 查看当前版本
firefox --version
# 更新到最新版本
sudo apt update && sudo apt upgrade firefox

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:31:06