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

如何在AWS MWAA环境中配置Selenium与Chromium运行依赖?

解决方案

完全可以在AWS MWAA环境中成功配置运行Selenium所需的chromedriver和无头浏览器,不需要执行yum类系统级安装命令,可行方案如下:

  • 方案1:直接通过pip安装预编译依赖包
    在你的requirements.txt中添加以下3个依赖即可:
    selenium
    chromium-binary
    chromedriver-binary-auto
    
    其中chromium-binary会自动安装适配Amazon Linux 2架构的Chromium无头浏览器预编译二进制文件,chromedriver-binary-auto会自动匹配安装和当前Chromium版本对应的chromedriver,无需手动对齐版本,安装完成后可直接在Selenium代码中调用。
  • 方案2:手动加载预上传二进制文件(适配版本兼容问题场景)
    提前编译好适配Amazon Linux 2的Chromium和对应版本的chromedriver二进制文件,上传到MWAA关联的S3桶的dags或自定义依赖目录下,在DAG代码中手动指定二进制路径即可:
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    import os
    
    chrome_options = Options()
    # 必要的无头运行参数
    chrome_options.add_argument("--headless=new")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("--disable-gpu")
    # 指定Chromium二进制文件路径
    chrome_options.binary_location = f"{os.environ.get('AIRFLOW_HOME')}/deps/chrome"
    # 初始化driver,指定chromedriver路径
    driver = webdriver.Chrome(
        executable_path=f"{os.environ.get('AIRFLOW_HOME')}/deps/chromedriver",
        options=chrome_options
    )
    

注意事项

  • MWAA工作节点运行时无sudo权限,所有依赖必须支持pip安装或可直接通过文件系统加载二进制文件,禁止调用系统级安装命令
  • 启动Chromium时必须添加--no-sandbox参数,否则会因权限不足启动失败

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 13:33:01