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

M1 Mac上Selenium Chrome运行缓慢问题及ChromeDriver相关疑问

问题解决思路

一、M1 Mac上Selenium Chrome运行缓慢的优化方案

针对窗口加载迟缓、帧率低的问题,可尝试以下优化方向:

  • 确保Chrome与ChromeDriver为ARM64原生版本
    M1 Mac运行x86架构程序会通过Rosetta转译,大幅降低性能。检查Chrome版本(菜单>关于Google Chrome,确认标注“Apple Silicon”);WebDriverManager默认会适配架构下载ChromeDriver,可手动验证下载的驱动是否为arm64版本。

  • 添加Chrome性能优化启动参数
    修改Options配置,禁用不必要的后台功能与渲染限制:

    options = Options()
    options.add_experimental_option("detach", True)
    # 性能优化参数
    options.add_argument("--disable-gpu")
    options.add_argument("--disable-extensions")
    options.add_argument("--disable-dev-shm-usage")
    options.add_argument("--disable-background-timer-throttling")
    options.add_argument("--disable-renderer-backgrounding")
    options.add_argument("--no-sandbox")  # M1环境可尝试开启
    
  • 替换窗口最大化方式
    放弃maximize_window(),直接设置固定分辨率窗口,规避系统动画开销:

    # 替换driver.maximize_window()
    driver.set_window_size(1920, 1080)  # 可根据你的屏幕分辨率调整
    
  • 清理后台占用资源的进程
    通过Activity Monitor关闭无关的高CPU/GPU占用进程,释放M1的硬件资源。

二、关于ChromeDriver初始化的疑问

Selenium 4.6及以上版本内置了Selenium Manager工具,它会自动完成:

  • 检测本地Chrome版本
  • 下载匹配版本的ChromeDriver
  • 配置驱动路径到环境变量
    因此无需手动通过Service(ChromeDriverManager().install())指定驱动,代码可简化为:
from selenium.webdriver import Chrome
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_experimental_option("detach", True)

driver = Chrome(options=options)
driver.get("https://google.com/xhtml")

早期Selenium版本需要手动管理ChromeDriver的下载与路径配置,新版本的自动管理功能已替代第三方webdriver_manager工具的作用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 08:57:05