You need to enable JavaScript to run this app. Selenium webdriver下Firefox的headless模式运行无响应问题
优惠活动
大模型
产品
解决方案
定价
更多

Selenium webdriver下Firefox的headless模式运行无响应问题

问题修复方案
  • Selenium版本适配问题:Selenium 4.0及以上版本已经废弃了直接设置headless = True的写法,需要通过参数传入的方式开启无头模式,正确写法为:
    firefox_options.add_argument("--headless=new")
    
  • 反爬拦截问题:绝大多数站点会识别默认的Firefox无头模式请求(默认UA携带HeadlessFirefox标识),直接拦截访问,需要手动添加正常浏览器的UA伪装:
    firefox_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")
    
  • 页面加载等待缺失:现有代码执行完driver.get(web)后没有后续操作也没有等待逻辑,若需要获取页面内容需要添加显式/隐式等待,确保页面元素加载完成后再执行操作,比如添加隐式等待:
    driver.implicitly_wait(10)
    
  • 驱动版本不匹配:请确认本地安装的Firefox浏览器版本和geckodriver版本适配,Selenium 4.0+会自动管理驱动,若使用的是旧版本Selenium请手动下载对应版本的geckodriver并放置到系统PATH路径下。

完整可运行参考代码

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

web = "https://www.powerplay.com/sportsbook/SOCCER/"
firefox_options = Options()
# 新版无头模式写法
firefox_options.add_argument("--headless=new")
# 伪装UA
firefox_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36")

driver = webdriver.Firefox(options=firefox_options)
# 隐式等待10秒等待元素加载
driver.implicitly_wait(10)
driver.get(web)
# 测试输出页面标题验证是否加载成功
print(driver.title)
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 16:15:04