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

Selenium+Python环境下浏览器页面无法加载的版本兼容问题

版本兼容性判定结论

你当前使用的组件组合无法稳定协同运行,不需要对所有组件做降级处理,仅需调整geckodriver版本即可解决问题,已安装的最新正式版Selenium、Firefox v100都可以保留。

版本不匹配的核心依据

  • geckodriver 0.31.0的官方兼容范围仅覆盖Firefox 91 ESR、Firefox 102及以上版本,和你本地安装的Firefox v100存在明确的版本适配断层,这是触发页面加载异常、浏览器未收到主动关闭指令就自动退出的核心原因
  • PyPI源分发的最新正式版Selenium,对Firefox v100、适配该版本的geckodriver都做了完整兼容,不存在适配问题,不需要降级
  • 适配Firefox v100的geckodriver正式版本为0.30.0,该版本专门完成了Firefox 98-101版本区间的适配,无已知的稳定运行冲突

修复操作步骤

  1. 彻底删除当前系统路径下的geckodriver 0.31.0可执行文件,避免多版本共存导致的调用冲突
  2. 部署geckodriver 0.30.0到已配置的系统可执行路径下,重启IDE或终端让环境变量配置生效
  3. 先用最小验证代码确认基础运行逻辑正常,示例代码如下:
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

firefox_opts = Options()
# 无头模式按需开启,常规调试时建议先关闭
# firefox_opts.add_argument("--headless")
driver = webdriver.Firefox(options=firefox_opts)
# 替换为你需要访问的目标页面地址
driver.get("https://example.com")

# 调试阶段可加固定等待确认页面加载状态
import time
time.sleep(10)
# 所有操作完成后主动调用quit关闭进程
driver.quit()

额外问题排查点

如果更换geckodriver版本后问题仍然存在,优先检查两项常见配置问题:

  • 代码中需要保持webdriver实例的有效引用,不要把driver对象定义在会被快速回收的临时函数作用域内,实例被Python垃圾回收机制回收时,会自动触发浏览器进程退出
  • 检查本地安全软件是否拦截了geckodriver对Firefox进程的调用,拦截触发时会直接终止浏览器进程,表现和无指令自动退出完全一致

内容的提问来源于stack exchange,提问作者Mr. PRAINGLE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 02:27:30