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

Selenium配置Firefox时报错to_capabilities()缺少self参数如何解决

错误原因

你代码中options = webdriver.FirefoxOptions这一行没有对FirefoxOptions类做实例化,直接把类本身赋值给了options变量。to_capabilities()是FirefoxOptions的实例方法,只有实例化后的对象调用时才会自动传入self参数,直接传入类本身就会触发缺少self位置参数的报错。

修复方案
  • 核心改动:在webdriver.FirefoxOptions后加括号完成实例化,即修改为options = webdriver.FirefoxOptions()
  • 可选优化:代码中重复导入了两次from selenium import webdriver,属于冗余代码可以删除其中一行;如果你的Selenium版本≥4.6,无需使用webdriver_manager,Selenium内置了驱动自动管理能力,可简化驱动初始化写法。

修复后兼容所有版本的完整代码

import unittest
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

# 新增括号完成FirefoxOptions实例化
options = webdriver.FirefoxOptions()
options.headless = True
driver = webdriver.Firefox(executable_path=GeckoDriverManager().install(), options=options)

driver.implicitly_wait(10)

driver.get('http://amazon.de')
print(driver.title)

Selenium≥4.6简化写法(无需webdriver_manager)

import unittest
from selenium import webdriver

options = webdriver.FirefoxOptions()
options.headless = True
# 无需手动指定驱动路径,Selenium会自动匹配下载
driver = webdriver.Firefox(options=options)

driver.implicitly_wait(10)

driver.get('http://amazon.de')
print(driver.title)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 08:39:04