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

Ubuntu Server环境下Selenium启动WebDriver失败问题求助

问题核心原因

  1. ChromeService路径错误:你代码中ChromeService的executable_path指向了Chrome浏览器二进制文件,而非ChromeDriver驱动程序,这是服务启动失败的关键原因。
  2. Ubuntu Server缺少Chrome依赖:无GUI环境下,Chrome运行需要额外的图形类依赖库。
  3. Headless模式参数不完整:Ubuntu环境下的Headless运行需要补充特定参数才能稳定工作。
  4. 下载目录权限问题:Python进程可能没有下载目录的读写权限。

分步修复方案

1. 修正ChromeService配置

ChromeService必须指向ChromeDriver的可执行文件,而非Chrome浏览器。如果使用Selenium 4.6+版本,还可以让Selenium自动管理驱动,无需手动指定路径:

# 错误写法(指向了Chrome浏览器)
# service = webdriver.ChromeService(executable_path="/usr/local/bin/chrome-linux64/chrome")

# 正确写法1:手动指定ChromeDriver路径(假设路径为/usr/local/bin/chromedriver)
service = webdriver.ChromeService(executable_path="/usr/local/bin/chromedriver")

# 正确写法2:Selenium 4.6+自动匹配驱动(推荐)
# 无需手动创建service对象,直接初始化driver

2. 安装Chrome运行依赖

在Ubuntu Server终端执行以下命令,安装Chrome所需的依赖库:

sudo apt-get update
sudo apt-get install -y libxss1 libappindicator1 libindicator7 libnss3-tools libasound2 libatk-bridge2.0-0 libgtk-3-0

3. 优化Headless模式参数

更新ChromeOptions,补充Ubuntu环境下必需的运行参数:

options = webdriver.ChromeOptions()
options.add_argument('--headless=new')  # 新版Headless模式,兼容性更强
options.add_argument('--no-sandbox')    # 禁用沙箱,解决无权限运行问题
options.add_argument('--disable-dev-shm-usage')  # 避免/dev/shm内存不足导致崩溃
options.add_argument('--disable-gpu')
options.add_argument('--download.default_directory=/home/pscv/downloads')
options.binary_location = "/usr/bin/google-chrome"

4. 修复下载目录权限

确保当前用户对下载目录有读写权限:

sudo chown -R pscv:pscv /home/pscv/downloads
sudo chmod -R 755 /home/pscv/downloads

完整修正后代码示例

from selenium import webdriver

options = webdriver.ChromeOptions()
# Headless模式及环境适配参数
options.add_argument('--headless=new')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--disable-gpu')
# 配置下载目录
options.add_argument('--download.default_directory=/home/pscv/downloads')
# 指定Chrome浏览器路径
options.binary_location = "/usr/bin/google-chrome"

# 初始化驱动(Selenium 4.6+自动匹配ChromeDriver)
driver = webdriver.Chrome(options=options)

# 此处添加你的CSV下载逻辑...

# 关闭驱动
driver.quit()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 01:21:03