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

Linux环境TeamCity代理运行Selenium时Chromedriver不可执行如何解决

问题根因

不是webdriver.chrome.driver属性配置错误,从报错日志可以看到程序已经正确定位到了/opt/buildagent/work/815e6cc9c618cd9d/_drivers/chromedriver文件,问题是Linux系统下的二进制文件缺少可执行权限。

你的TeamCity构建代理运行在Linux环境,这类系统默认不会给普通文件赋予执行权限,而chromedriver是二进制可执行文件,必须有执行权限才能被Selenium调用。

解决方案

你可以选择任意一种方案处理:

  • 方案1:在TeamCity构建配置中添加前置命令行步骤,执行以下命令即可:
    chmod +x _drivers/chromedriver
    
    该方案不需要修改代码,每次构建拉取代码后自动给驱动文件赋予执行权限,适配性最高。
  • 方案2:如果使用Git做版本控制,可以直接给仓库中的chromedriver文件添加可执行权限标记,本地执行以下命令后提交推送即可:
    git update-index --chmod=+x _drivers/chromedriver
    
    后续所有构建拉取代码时都会自动保留该文件的可执行权限,不需要额外加构建步骤。

补充排查点

如果配置权限后仍然报错,需要确认两个点:

  • 你存放在_drivers目录下的chromedriver是Linux版本,而非Windows/macOS版本
  • chromedriver的大版本号和TeamCity代理服务器上安装的Chrome浏览器大版本号一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:36:09