docker - 当我尝试使用 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 的缺乏经验并没有让我到任何地方。
我在这里想念什么?我觉得过去两周我一直在黑暗中拍摄,任何朝着正确方向的帮助或帮助/建议将不胜感激。
解决方案
我找到了我用上图下载 chrome 驱动程序的答案,并确保它已下载到正确的文件夹中
推荐阅读
- android - Android使用socket.io将图像作为二进制流发送
- macos - 在 macOS 应用程序中使用 Safari 调试 JavaScriptCore
- botframework - Botbuilder,多个带有直接网络控制的网站。如何管理
- batch-file - 在现有命令提示符中触发命令。使用另一个 .bat 文件
- java - 从json发送日期字段时出现异常
- css - 使用 React Prod Build 重命名类名
- arrays - 如何对mongodb中的项目数组进行操作(过滤和排序)?
- python - 如何通过 SQLAlchemy 中的自定义函数进行排序
- python - ImageMagick:权限被拒绝错误(Windows、Conda)
- javascript - 未处理的承诺的麻烦