首页 > 解决方案 > 当我尝试使用 dockerfile 运行我的 Selenium 项目时,它告诉我找不到 chromedriver

问题描述

我不会对 docker 说谎,我需要 docker 帮助来让我的 selenium 项目在容器中构建和运行

这是我当前的 dockerfile

# start with SDK  
FROM  mcr.microsoft.com/dotnet/core/sdk:3.1 AS build

# copy all server files/dependencies, target project dir & restore
COPY . .
WORKDIR /SA.myProject
RUN dotnet publish -c Release -o /app

# Install Google Chrome
RUN wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
RUN apt-get update && apt-get install -y google-chrome-stable
RUN apt-get install libxss1

#COPY --from=build /app .
WORKDIR /app
ENTRYPOINT ["dotnet", "test", "SA.myProject.dll"]

我收到错误消息,提示“当前目录或 PATH 环境变量的目录中不存在 chromedriver 文件。驱动程序可以在http://chromedriver.storage.googleapis.com/index.html 下载。”

我将 chrome 驱动程序作为 nuget 包,并且 chromedriver 应用程序与我的 dll 文件位于同一目录中。为什么它找不到它?

我也尝试使用 dockerfile 获取 webdriver,类似于我在上面安装 chrome 的方式,但我想我对 docker 的缺乏经验并没有让我到任何地方。

我在这里想念什么?我觉得过去两周我一直在黑暗中拍摄,任何朝着正确方向的帮助或帮助/建议将不胜感激。

标签: dockerselenium.net-coreselenium-chromedriverdockerfile

解决方案


我找到了我用上图下载 chrome 驱动程序的答案,并确保它已下载到正确的文件夹中


推荐阅读