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

求指导:获取AWS Lambda适配的最新Chrome二进制文件下载路径

获取适配AWS Lambda的Chrome二进制文件(适配ChromeDriver 79.x)

既然你已经搞定了ChromeDriver 79.0.3945.36,一定要注意Chrome二进制版本必须和Driver完全匹配——版本不兼容可是Selenium最常见的坑之一。下面一步步教你搞定适配Lambda的Chrome文件:

1. 下载对应版本的Linux Chrome二进制

Lambda运行在Amazon Linux 2(x86_64架构)环境下,所以得下载Linux x64版本的无头Chrome(毕竟Lambda没图形界面):

  • 直接从Google官方Linux源获取指定版本的Chrome rpm包:
    wget https://dl.google.com/linux/chrome/rpm/stable/x86_64/google-chrome-stable-79.0.3945.36-1.x86_64.rpm
    
  • 解压rpm包提取核心二进制文件:
    rpm2cpio google-chrome-stable-79.0.3945.36-1.x86_64.rpm | cpio -idmv
    
  • 解压完成后,Chrome二进制会在./opt/google/chrome/google-chrome路径下,把这个文件和相关依赖准备好,后续要放到Lambda环境里。

2. 适配Lambda的文件系统与依赖

Lambda只有/tmp目录是可写的,而且默认缺少部分Chrome依赖库,得这么处理:

  • 二进制存放方式:要么把Chrome二进制打包到Lambda部署包里,要么在Lambda启动时从S3下载到/tmp目录。
  • 依赖补全:Amazon Linux 2默认缺libX11、libXcomposite这类Chrome依赖,两种解决办法:
    • 办法一:把缺失的依赖库和Chrome二进制一起打包,放到部署包的/tmp/lib目录,然后设置环境变量LD_LIBRARY_PATH=/tmp/lib。
    • 办法二:直接用社区预打包好的Lambda Layer,这类Layer已经包含了Chrome和所有依赖,添加到你的Lambda函数里就能用,省得自己折腾依赖。

3. 在Lambda代码里配置Selenium

拿到Chrome二进制后,代码里要指定路径和无头模式,举个Python例子:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

def lambda_handler(event, context):
    chrome_options = Options()
    # 无头模式必备参数
    chrome_options.add_argument("--headless")
    chrome_options.add_argument("--no-sandbox")
    chrome_options.add_argument("--disable-dev-shm-usage")
    chrome_options.add_argument("--disable-gpu")
    # 指定Chrome二进制路径
    chrome_options.binary_location = "/tmp/google-chrome"
    
    # 初始化Driver
    driver = webdriver.Chrome(executable_path="/tmp/chromedriver", options=chrome_options)
    
    # 这里写你的Selenium业务逻辑
    driver.get("https://example.com")
    print(driver.title)
    
    driver.quit()

关键注意点

  • 版本严格匹配:Chrome和ChromeDriver的主版本号必须完全一致(比如都是79.0.3945.36),不然会直接抛出SessionNotCreatedException。
  • 部署包大小:Lambda未压缩的部署包不能超过250MB,所以建议用压缩后的二进制,或者通过S3动态下载到/tmp。
  • 冷启动优化:把二进制打包到部署包或使用Layer,比启动时从S3下载能减少冷启动时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 11:19:08