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

Google App Engine部署Selenium时Chrome和Chromedriver报错如何处理?

问题根因

你触发的OSError: [Errno 8] Exec format error错误的核心原因是:你本地使用的是Windows平台的Chrome和ChromeDriver二进制文件(后缀为.exe),而Google App Engine的运行环境为Linux系统,Windows格式的可执行文件无法在Linux环境下执行。

解决方案

  • 替换可执行文件
    停止使用Windows版的chrome.exe和chromedriver.exe,下载对应Google App Engine运行架构的Linux版Chrome浏览器和ChromeDriver二进制文件,确保两者版本匹配、且与你使用的Selenium版本兼容。
  • 调整代码配置
    1. 将代码中Windows专属的.exe文件路径替换为Linux版二进制文件的存放路径(Linux下可执行文件无.exe后缀)
    2. 新增适配Linux容器无桌面环境的Chrome启动参数,同时替换Selenium已废弃的chrome_options参数为options,示例代码如下:
    driverOptions = webdriver.ChromeOptions()
    # 替换为Linux版Chrome的实际存放路径
    driverOptions.binary_location = 'Application_2/chrome-linux/chrome'
    driverOptions.add_argument("--headless=new")
    # 适配容器运行环境的必要参数
    driverOptions.add_argument("--no-sandbox")
    driverOptions.add_argument("--disable-dev-shm-usage")
    driverOptions.add_argument("--disable-gpu")
    # 替换为Linux版ChromeDriver的实际存放路径
    driver = webdriver.Chrome('Application_2/chromedriver-linux64/chromedriver', options=driverOptions)
    
  • 添加可执行权限
    给上传至Google App Engine的Chrome和ChromeDriver二进制文件添加可执行权限,可在部署脚本或者app.yaml的启动指令中加入以下命令:
    chmod +x 你的Chrome文件路径 你的ChromeDriver文件路径
  • 可选优化(针对GAE灵活环境)
    直接在app.yaml中配置系统级依赖安装逻辑,自动安装对应版本的Chrome,无需手动上传二进制文件,进一步避免架构不兼容问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 05:45:03