MacOS下Selenium启动Firefox首页面加载耗时过长求助
MacOS下Selenium启动Firefox首页面加载耗时2分钟的排查方案
问题描述
在MacOS系统中使用以下Selenium脚本启动Firefox:
from selenium import webdriver service = webdriver.firefox.service.Service('/Path to geckodriver', port=56009) driver = webdriver.Firefox(service=service)
Firefox可正常启动,但启动后的首页面加载耗时约2分钟,后续导航操作速度正常。已尝试以下方案但问题未解决:
- 切换使用ChromeDriver
- 手动下载geckodriver替换Selenium自带版本
- 指定端口号
- 仅启动Firefox不执行后续
get()操作
可行解决方法
- 关闭Firefox自动代理检测
Firefox默认启动时会自动检测代理配置,部分网络环境下这个过程会导致长时间等待。通过FirefoxOptions关闭该功能:
from selenium import webdriver from selenium.webdriver.firefox.options import Options options = Options() options.set_preference("network.proxy.type", 0) # 0表示直接连接,不使用代理 service = webdriver.firefox.service.Service('/Path to geckodriver', port=56009) driver = webdriver.Firefox(service=service, options=options)
- 强制启动时加载空白页
跳过Firefox默认首页的加载,直接启动空白页:
options.set_preference("browser.startup.page", 0) options.set_preference("browser.startup.homepage", "about:blank")
- 禁用扩展与插件自动检查
减少Firefox启动时的后台操作,禁用扩展和插件的自动检查:
options.set_preference("extensions.enabledScopes", 0) options.set_preference("extensions.autoDisableScopes", 15)
排查系统防火墙与网络设置
确认MacOS防火墙没有拦截geckodriver或Firefox的本地回环(127.0.0.1)通信。可以临时关闭防火墙测试,若问题解决,再给geckodriver和Firefox添加允许通信的规则。尝试无头模式启动
如果不需要可视化界面,用无头模式启动Firefox,排除界面渲染相关的延迟:
options.add_argument("--headless")
内容的提问来源于stack exchange,提问作者Didier mac cormick
相关产品推荐
相关产品推荐

