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

如何加快Selenium Webdriver的页面加载速度

Selenium Firefox 启动&页面加载慢优化方案

优化后完整代码示例

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

# 初始化Firefox配置项
firefox_options = Options()
# 启用无头模式,无GUI渲染,大幅降低资源开销
firefox_options.add_argument("--headless=new")
# 调整页面加载策略为eager,仅等待DOM加载完成即可,无需等待图片、样式等静态资源
firefox_options.page_load_strategy = 'eager'
# 禁用图片加载
firefox_options.set_preference('permissions.default.image', 2)
# 禁用CSS样式加载(如果不需要页面样式展示可开启)
firefox_options.set_preference('permissions.default.stylesheet', 2)
# 禁用所有浏览器插件
firefox_options.set_preference('plugin.state.flash', 0)
firefox_options.set_preference('dom.ipc.plugins.enabled.libflashplayer.so', False)
# 禁用GPU加速
firefox_options.add_argument("--disable-gpu")
# 禁用所有浏览器扩展
firefox_options.add_argument("--disable-extensions")
# 禁用安全沙箱(测试环境可开启,减少校验开销)
firefox_options.add_argument("--no-sandbox")
# 禁用/dev/shm共享内存使用,避免内存不足导致的加载慢
firefox_options.add_argument("--disable-dev-shm-usage")
# 禁用浏览器自动更新
firefox_options.set_preference('app.update.enabled', False)
# 禁用历史记录、表单填充等持久化写入操作
firefox_options.set_preference('browser.history_expire_days', 0)
firefox_options.set_preference('browser.formfill.enable', False)

driver = webdriver.Firefox(options=firefox_options)
driver.get("https://google.com")

核心优化逻辑说明

  • 页面加载策略调整:默认配置使用normal加载策略,会等待页面所有资源(图片、异步脚本、样式、iframe等)全部加载完成才结束driver.get的阻塞,耗时最长。改为eager后仅等待DOM树解析完成就继续执行后续代码,静态资源加载不会阻塞主流程,单页面加载速度可提升60%以上。如果对页面资源完整性无要求,也可设置为none完全不阻塞,自行通过显式等待判断目标元素是否加载完成。
  • 无头模式开启:跳过GUI界面的所有渲染开销,无需加载浏览器UI组件和交互资源,内存、CPU占用大幅降低,浏览器启动速度和页面加载速度都会有明显提升。
  • 非必要资源禁用:通过配置直接禁用图片、CSS、插件、扩展等非必要资源的加载,减少网络请求次数和资源解析开销,针对内容复杂的网站提速效果尤其突出。
  • 冗余流程跳过:禁用沙箱校验、自动更新、历史记录写入等非必要流程,跳过浏览器启动和运行过程中不必要的校验、持久化写入步骤,进一步压缩运行耗时。

额外注意事项

后续操作页面动态元素时,优先使用WebDriverWait显式等待定位元素,不要使用time.sleep硬等待,避免不必要的等待耗时。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 18:06:07