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

Selenium-webdriver异常:Process.spawn无法找到已存在的chromedriver

问题排查与解决方案

1. 验证程序架构兼容性

执行以下命令查看chromedriver的架构和系统架构:

file /root/.webdrivers/chromedriver
uname -m

如果chromedriver是32位程序但系统是64位,需安装对应32位兼容库:

  • Debian/Ubuntu:apt-get install -y lib32gcc-s1
  • RHEL/CentOS:yum install -y glibc.i686

2. 检查动态链接库依赖

用ldd命令查看chromedriver的依赖情况:

ldd /root/.webdrivers/chromedriver

若输出中有not found的库,根据系统包管理器安装对应依赖包。如果是Alpine Linux环境(默认使用musl libc),需安装glibc兼容层:

apk add --no-cache libc6-compat
# 或安装完整glibc包
wget -q -O /etc/apk/keys/sgerrand.rsa.pub https://alpine-pkgs.sgerrand.com/sgerrand.rsa.pub
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.34-r0/glibc-2.34-r0.apk
apk add glibc-2.34-r0.apk

3. 直接测试chromedriver可执行性

在终端直接运行:

/root/.webdrivers/chromedriver --version

如果此命令报错,说明程序本身无法运行,优先解决该问题,与Ruby的Process.spawn无关。

4. 手动指定chromedriver路径

在测试配置中明确指定chromedriver路径,避免selenium自动检测出错:

Capybara.register_driver :selenium_chrome do |app|
  Capybara::Selenium::Driver.new(
    app,
    browser: :chrome,
    driver_path: '/root/.webdrivers/chromedriver'
  )
end

5. 排查路径隐藏字符

执行命令检查路径是否包含不可见字符:

printf "%q\n" /root/.webdrivers/chromedriver

确保输出的路径与代码中使用的完全一致,无空格、换行等隐藏字符。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 17:55:02