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

webdriver-manager启动Firefox报API限流错误无需GH_TOKEN的解决方法

报错根因

触发该错误的核心逻辑是:webdriver-manager默认调用GitHub公共API查询匹配当前Firefox版本的最新geckodriver版本,而GitHub对未携带认证token的公共API请求做了速率限制,单IP每小时最多可发起60次请求,超出阈值就会抛出该提示。
YouTube教程里的演示者未碰到该问题,仅因为他们操作时对应网络出口IP的请求量未达到限流阈值,不存在必须配置GH_TOKEN才能运行的强制要求。

无需配置GH_TOKEN的解决方案

方案1:弃用webdriver-manager,使用Selenium内置驱动管理(最推荐)

Selenium 4.6及以上版本已经内置了Selenium Manager工具,会自动匹配、下载、配置对应浏览器版本的驱动,完全不需要额外引入webdriver-manager依赖,从根源上避开GitHub API限流问题。
首先执行命令调整依赖:

pip uninstall webdriver-manager -y
pip install --upgrade selenium

之后简化测试代码即可,不需要手动编写驱动安装逻辑:

from selenium import webdriver
import time

driver = webdriver.Firefox()
driver.get("https://google.com")
time.sleep(5)
driver.quit()

注:原测试代码未导入time模块,即便驱动配置正常也会触发名称错误,上述代码已补全该缺失项。

方案2:固定geckodriver版本,跳过在线版本查询

如果暂时不想升级Selenium版本,可以在调用GeckoDriverManager时明确指定兼容当前Firefox版本的geckodriver版本号,此时webdriver-manager不会发起GitHub API请求查询最新版本,仅会检查本地缓存是否存在对应驱动,不存在时直接下载对应版本文件,不会触发限流。
针对你使用的Firefox 101.0版本,兼容的geckodriver版本为v0.31.0,修改后的代码如下:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
from webdriver_manager.firefox import GeckoDriverManager
import time

driver = webdriver.Firefox(
    service=Service(GeckoDriverManager(version="v0.31.0").install())
)
driver.get("https://google.com")
time.sleep(5)
driver.quit()

注意:如果后续升级Firefox版本,需要同步调整传入的version参数为兼容的geckodriver版本号。

方案3:手动管理驱动,完全跳过webdriver-manager联网逻辑

可以彻底弃用webdriver-manager的自动管理能力,手动下载对应版本的geckodriver解压到本地固定路径,代码中直接指定驱动路径即可,全程不会发起GitHub API请求:

from selenium import webdriver
from selenium.webdriver.firefox.service import Service
import time

# 将路径替换为本地geckodriver的实际存放路径
driver = webdriver.Firefox(service=Service("C:/drivers/geckodriver.exe"))
driver.get("https://google.com")
time.sleep(5)
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 01:54:34