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

使用GeckoDriver v0.31.0启动Firefox v103.0.2时遇NS_ERROR_UNKNOWN_HOST错误求助

关于NS_ERROR_UNKNOWN_HOST错误的排查与解决

问题场景

使用GeckoDriver v0.31.0、Selenium v4.4.0启动Firefox v103.0.2时,程序崩溃并抛出NS_ERROR_UNKNOWN_HOST错误。

错误信息

selenium.common.exceptions.SessionNotCreatedException: Message: Error: NS_ERROR_UNKNOWN_HOST

代码示例

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

import sys
print ("Python Version: " +str(sys.version_info))

import selenium
print("Selenium version: " +selenium.__version__)

log = Log()
log.level = "trace"
options = Options()
options.add_argument(log.level)
s = Service('C:\\BrowserDrivers\\geckodriver.exe')
driver = webdriver.Firefox(service=s, options=options)
driver.get('https://www.google.com/')

控制台输出及错误堆栈

Python Version: sys.version_info(major=3, minor=9, micro=0, releaselevel='final', serial=0)
Selenium version: 4.4.0
Traceback (most recent call last):
  File "C:\Users\debanjan.bhattacharj\Desktop\Python Programs\Selenium_Firefox_tests.py", line 26, in <module>
    driver = webdriver.Firefox(service=s, options=options)
  File "C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 177, in __init__
    super().__init__(
  File "C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 276, in __init__
    self.start_session(capabilities, browser_profile)
  File "C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 369, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 434, in execute
    self.error_handler.check_response(response)
  File "C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: Error: NS_ERROR_UNKNOWN_HOST
Stacktrace:
#checkLoadingState@chrome://remote/content/shared/Navigate.jsm:239:28
onStateChange@chrome://remote/content/shared/Navigate.jsm:284:28

排查方向与解决方案

1. 日志参数配置错误

你代码里把日志级别直接作为命令行参数传给Firefox是错误的。Firefox的日志配置需要通过Options的log属性绑定,而非add_argument方法传递字符串。正确写法如下:

log = Log()
log.level = "trace"
options = Options()
options.log = log  # 替换原有的options.add_argument(log.level)

错误的参数传递会导致Firefox启动解析异常,进而触发网络相关的未知主机错误。

2. 版本兼容性验证

你使用的版本组合(GeckoDriver 0.31.0 + Firefox 103.0.2 + Selenium 4.4.0)理论上是兼容的:

  • GeckoDriver 0.31.0官方支持Firefox 102-104版本
  • Selenium 4.4.0对GeckoDriver 0.31.0的支持无问题

3. 网络环境排查

NS_ERROR_UNKNOWN_HOST本质是主机解析失败,可检查:

  • 本地DNS是否正常,手动访问https://www.google.com/确认网络连通性
  • Firefox代理设置是否异常,可能导致启动时无法解析远程调试相关地址
  • 防火墙或安全软件是否拦截了GeckoDriver与Firefox的通信

4. 同类问题参考

该错误在Firefox与GeckoDriver适配场景中并不少见,大多集中在日志参数配置错误、代理干扰或Firefox配置文件损坏这几个方向,已有不少用户遇到并通过修正配置解决问题。

总结

优先修正日志参数的配置方式,替换options.add_argument(log.level)为options.log = log,再逐步排查网络环境和Firefox配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 09:09:17