cPanel Linux主机安装Chrome浏览器解决找不到Chrome二进制报错
cPanel Linux环境安装Chrome适配Selenium的可行方案
报错核心原因:ChromeDriver仅为浏览器驱动程序,本身不包含Chrome浏览器运行所需的二进制文件,必须搭配对应版本的Chrome/Chromium本体才能正常运行。Linux环境下替换Windows版本ChromeDriver属于跨平台不兼容操作,完全无法解决问题。
以下按主机权限场景分别提供可落地方案:
方案1:持有主机root权限(VPS/独立服务器搭载cPanel场景)
cPanel常用系统为CentOS/CloudLinux/RHEL系,少数为Debian/Ubuntu系,直接通过系统包管理器安装对应版本Chrome即可:
- CentOS/CloudLinux/RHEL系操作步骤:
- 先安装系统依赖:执行
yum install -y liberation-fonts libX11 GConf2 fontconfig - 从Chrome官方历史版本存档下载和现有103.0.5060.53版本ChromeDriver匹配的Chrome安装包
- 执行安装命令完成部署
- 先安装系统依赖:执行
- Debian/Ubuntu系操作步骤:
- 先安装系统依赖:执行
apt update && apt install -y fonts-liberation libasound2 libatk-bridge2.0-0 libatk1.0-0 libcups2 libdbus-1-3 libdrm2 libgbm1 libgtk-3-0 libnspr4 libnss3 libxcomposite1 libxdamage1 libxfixes3 libxkbcommon0 libxrandr2 xdg-utils - 从Chrome官方历史版本存档下载和现有103.0.5060.53版本ChromeDriver匹配的Chrome安装包
- 执行系统包安装命令完成部署
- 先安装系统依赖:执行
安装完成后执行which google-chrome返回路径即为安装成功,Selenium代码中补充无头模式必要参数即可运行,示例配置如下:
from selenium.webdriver.chrome.options import Options chrome_options = Options() chrome_options.add_argument('--headless=new') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument('--disable-gpu') # 原有ChromeDriver路径配置保持不变 driver = webdriver.Chrome(executable_path=r'/home/gettaing/seleniumtest/chromedriver',options=chrome_options)
方案2:无root权限(绝大多数共享cPanel主机场景)
共享cPanel主机通常不开放root权限,无法安装系统级软件,可使用便携版Chromium方案:
- 下载和现有103.0.5060.53版本ChromeDriver匹配的Linux便携版Chromium二进制包,上传到站点私有目录,例如
/home/gettaing/seleniumtest/chrome/ - 给Chromium二进制文件添加可执行权限:可在cPanel文件管理器中右键文件勾选执行权限,或通过SSH执行
chmod +x /home/gettaing/seleniumtest/chrome/chrome - 修改Selenium代码,手动指定Chromium二进制文件的绝对路径,无需依赖系统安装的Chrome,示例配置如下:
from selenium.webdriver.chrome.options import Options chrome_options = Options() # 手动指定上传的便携版Chromium绝对路径 chrome_options.binary_location = r'/home/gettaing/seleniumtest/chrome/chrome' chrome_options.add_argument('--headless=new') chrome_options.add_argument('--no-sandbox') chrome_options.add_argument('--disable-dev-shm-usage') chrome_options.add_argument('--disable-gpu') # 原有ChromeDriver路径配置保持不变 driver = webdriver.Chrome(executable_path=r'/home/gettaing/seleniumtest/chromedriver',options=chrome_options)
注意事项
- ChromeDriver和Chrome/Chromium的大版本号必须完全对应,当前使用103版本驱动,就必须搭配103大版本的Chrome/Chromium,版本不匹配会触发启动报错
- Linux环境下无法运行Windows版本的ChromeDriver,必须使用Linux版本驱动
- 若共享主机配置了严格的安全规则拦截无头浏览器进程,上述方案可能无法生效,需联系主机商确认是否允许运行Selenium类进程,或更换支持自定义进程的VPS类主机部署
内容的提问来源于stack exchange,提问作者Blog Khóa Học
相关产品推荐
相关产品推荐

