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

Odoo 16容器中运行Selenium代码遇WebDriverException报错求助

解决Odoo容器中Selenium Chrome驱动意外退出(状态码-5)的问题

核心问题修正:传递Chrome配置参数

你的代码中创建了chrome_options但未将其传入webdriver.Chrome实例,导致无头模式、沙箱禁用等配置未生效,这是驱动崩溃的主要原因之一。修正后的代码如下:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 新版无头模式,兼容性优于旧版--headless
chrome_options.add_argument('--headless=new')
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
# 补充参数解决非root用户运行权限问题
chrome_options.add_argument('--disable-setuid-sandbox')
# 禁用GPU渲染,适配无头环境
chrome_options.add_argument('--disable-gpu')
# 指定临时用户数据目录,避免权限冲突
chrome_options.add_argument('--user-data-dir=/tmp/chrome-user-data')

# 必须将配置传入驱动实例
d = webdriver.Chrome(options=chrome_options)
d.get("http://localhost:8069/web/database/manager")
# 操作完成后务必关闭驱动,释放资源
d.quit()

容器环境配置调整

1. 简化浏览器与驱动安装,避免版本冲突

你同时安装了Chromium和Chrome,可能导致驱动与浏览器版本不匹配或冲突。建议统一使用Chrome,调整安装命令如下:

apt-get update && apt-get install -y --no-install-recommends \
    libgconf-2-4 \
    wget \
    && wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
    && dpkg -i google-chrome-stable_current_amd64.deb \
    && apt-get -f install -y \
    && rm -rf google-chrome-stable_current_amd64.deb \
    && apt-get clean && rm -rf /var/lib/apt/lists/*

安装完成后确认版本匹配:

google-chrome --version
chromedriver --version

2. 调整容器运行权限

Odoo通常以非root用户运行,Chrome默认限制非root用户执行。在Dockerfile中添加以下配置:

# 创建Chrome临时数据目录并开放权限
RUN mkdir -p /tmp/chrome-user-data && chmod -R 777 /tmp/chrome-user-data
# 切换到Odoo用户运行服务
USER odoo

3. 优化资源限制

虽然你设置了limit_memory_hard = 9999999999,但容器本身的内存配额可能不足。启动容器时增加内存分配:

docker run -d --name odoo16 --memory=4g ...  # 根据实际情况调整内存值

4. 验证驱动可执行性

在容器内手动执行chromedriver,检查是否能正常启动:

/usr/bin/chromedriver --version

若出现权限错误,执行:

chmod +x /usr/bin/chromedriver

额外排查点

  • 用curl http://localhost:8069/web/database/manager在容器内验证Odoo服务是否可访问
  • 查看Odoo日志,确认是否存在内存不足的报错,若有进一步提升容器内存配额

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:17:50