在AWS CodeBuild运行SeleniumBase脚本时提示无法找到Chrome二进制文件求助
解决AWS CodeBuild中SeleniumBase找不到Chrome二进制文件的问题
问题根源
aws/codebuild/standard:7.0镜像默认未预装Chrome浏览器,仅安装chromedriver无法启动浏览器;同时你指定的chromedriver-binary版本(117.0.5937.0.0)与SeleniumBase自动下载的chromedriver(114.0.5735.90)存在版本冲突,进一步加剧了问题。
具体解决步骤
1. 在CodeBuild构建脚本中安装Chrome浏览器
修改你的buildspec.yml,在install阶段添加安装Chromium(Chrome开源版,与Chrome二进制兼容)的命令:
phases: install: commands: # 更新软件源并安装Chromium - apt-get update -y - apt-get install -y chromium-browser # 导出Chrome二进制文件路径到环境变量,让SeleniumBase识别 - export CHROME_BINARY=/usr/bin/chromium-browser
2. 调整依赖配置,避免版本冲突
修改requirements.txt,移除手动指定的chromedriver-binary,让SeleniumBase自动管理驱动版本(它会匹配已安装的Chrome/Chromium版本下载对应驱动):
selenium==4.10.0 seleniumbase==4.16.2
3. (可选)在代码中显式指定Chrome二进制路径
如果环境变量未被正确识别,可在初始化SB对象时直接指定路径:
with SB(headless=True, xvfb=True, chrome_binary="/usr/bin/chromium-browser") as sb: # 你的脚本逻辑 ...
验证逻辑
完成上述修改后,CodeBuild会先安装Chromium浏览器,SeleniumBase会根据浏览器版本自动匹配兼容的chromedriver,解决“找不到Chrome二进制文件”的报错。
内容的提问来源于stack exchange,提问作者Thomas
相关产品推荐
相关产品推荐

