Docker部署Undetected Chromedriver时遇NoneType路径错误求助
解决方案
1. 修正Undetected Chromedriver的参数误用
你错误地将ChromeDriver的路径传给了executable_path参数——这个参数是用来指定Chrome浏览器二进制文件路径的,而非驱动文件路径。Undetected Chromedriver专门提供了driver_executable_path参数来接收驱动文件路径,修改代码如下:
options = uc.ChromeOptions() path = ChromeDriverManager(os_type="linux64").install() driver = uc.Chrome( options=options, driver_executable_path=path, force=True )
2. 让Undetected Chromedriver自动管理驱动(更推荐)
Undetected Chromedriver本身内置了驱动适配和下载逻辑,无需额外依赖WebDriverManager,直接初始化即可自动匹配当前环境的Chrome版本:
options = uc.ChromeOptions() driver = uc.Chrome(options=options, force=True)
3. 确保Docker容器内安装了Chrome/Chromium
容器环境默认没有预装浏览器,必须安装对应包才能让驱动正常工作。在你的Dockerfile中添加以下命令:
# 安装Chromium浏览器及依赖组件 RUN apt-get update && apt-get install -y \ chromium-browser \ chromium-driver \ fonts-liberation \ libasound2 \ libatk-bridge2.0-0 \ libnss3 \ libxtst6 \ xdg-utils
4. 权限排查
确保容器内的驱动文件具备可执行权限,可在Dockerfile中添加:
RUN chmod +x $(which chromedriver)
内容的提问来源于stack exchange,提问作者victorbrnk
相关产品推荐
相关产品推荐

