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

使用WebDriverManager操作Firefox时遇403 Forbidden错误求助

解决Mac OS下Selenium+Firefox出现WebDriverManager 403 Forbidden错误

这种403错误通常是WebDriverManager在自动下载geckodriver(Firefox专属的WebDriver)时,请求被目标服务器拒绝导致的——毕竟Chrome的chromedriver和Firefox的geckodriver源不同,所以Chrome能正常运行但Firefox出问题是很常见的情况。结合你使用的Firefox 70.0.1(64位)和Mac OS环境,给你几个可行的解决办法:

办法1:强制指定geckodriver版本

Firefox 70.0.1对应的兼容geckodriver版本是0.26.0,你可以在代码里强制指定这个版本,避免WebDriverManager自动匹配时出现源请求错误:

WebDriverManager.firefoxdriver().driverVersion("0.26.0").setup();

这样WebDriverManager会直接请求对应版本的资源,降低因版本自动匹配引发的403概率。

办法2:手动下载geckodriver并配置路径

如果自动下载始终不行,干脆绕开WebDriverManager的自动机制:

  • 找到对应Mac 64位的geckodriver 0.26.0安装包,解压后得到geckodriver可执行文件
  • 将文件放到系统默认PATH路径下(比如/usr/local/bin/),或者自定义路径
  • 代码里直接指定驱动路径初始化FirefoxDriver:
    // 如果放自定义路径,替换成你的实际路径
    System.setProperty("webdriver.gecko.driver", "/usr/local/bin/geckodriver");
    WebDriver driver = new FirefoxDriver();
    
    注意:如果用自定义路径,记得在终端给文件添加执行权限:
    chmod +x /path/to/your/geckodriver
    

办法3:检查网络与代理设置

如果你的Mac处于公司/学校等受限网络环境,可能是代理拦截了WebDriverManager的下载请求:

  • 尝试切换到个人网络(比如手机热点)再运行代码,看是否恢复正常
  • 必须使用代理的话,给WebDriverManager配置代理信息:
    WebDriverManager.firefoxdriver().proxy("http://your-proxy-address:port").setup();
    
    把your-proxy-address:port替换成你实际的代理地址和端口。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:42:04