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

Windows WSL环境中Selenium WebDriver启动崩溃问题求助

问题描述

我在Windows的WSL Linux环境下运行名为pythonas.py的Selenium程序,代码开头如下:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options

firefox_binary_path = '/usr/bin/firefox'

options = Options()
options.binary_location = firefox_binary_path
service = Service(executable_path='/usr/bin/geckodriver')

driver = webdriver.Firefox(options=options, service=service)

执行到webdriver.Firefox()时程序崩溃,报错信息如下:

Traceback (most recent call last):
  File "pythonas.py", line 13, in <module>
    driver = webdriver.Firefox(options=options, service=service)
  File "/home/jk/.local/lib/python3.8/site-packages/selenium/webdriver/firefox/webdriver.py", line 68, in __init__
    super().__init__(command_executor=executor, options=self.options)
  File "/home/jk/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 206, in __init__
    self.start_session(capabilities)
  File "/home/jk/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 291, in start_session
    response = self.execute(Command.NEW_SESSION, caps)["value"]
  File "/home/jk/.local/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 346, in execute
    self.error_handler.check_response(response)
  File "/home/jk/.local/lib/python3.8/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 1

环境信息:Windows WSL Linux、Selenium 4.10版本、geckodriver-v0.33.0-linux64、Firefox与geckodriver路径已确认正确。已尝试简化代码为driver = webdriver.Firefox(),报错情况未改变。

可能的原因及解决方向
  • WSL缺少图形界面支持:Firefox需要图形环境才能启动,WSL默认没有配置X Server,导致进程启动后直接退出。解决步骤:
    1. 在Windows上安装X Server工具(如VcXsrv);
    2. 启动X Server并关闭“Native OpenGL”选项;
    3. 在WSL终端中执行export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0,再运行Python程序。
  • Firefox与geckodriver版本不兼容:geckodriver 0.33.0要求Firefox版本为115及以上,若你的Firefox版本不匹配,会引发进程异常。运行firefox --version查看版本,对应调整geckodriver或Firefox版本。
  • Firefox系统依赖缺失:WSL环境下可能未预装Firefox所需的系统库,直接在WSL终端运行firefox,若有依赖缺失提示,用包管理器(如apt install 缺失的库名)安装对应依赖。
  • geckodriver权限不足:检查geckodriver是否有执行权限,若没有,执行chmod +x /usr/bin/geckodriver赋予权限后重试。
  • Selenium版本适配问题:Selenium 4.10在WSL环境下可能存在兼容性bug,尝试升级到4.15+或降级到4.8版本后测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:55:34