【发布时间】:2018-12-05 20:36:58
【问题描述】:
我正在尝试在 Docker 中设置一个使用 Selenium Webdriver 和 Firefox 的 .NET Core 控制台应用程序,但我很难理解如何实际使用 official Selenium docker images。
目前,控制台应用程序只是一个尝试访问 Google.com 并成功报告的应用程序。
在尝试创建新的 FirefoxDriver 时,我一直收到以下错误消息:
预期的浏览器二进制位置,但无法在默认位置找到二进制文件,未提供“moz:firefoxOptions.binary”功能,命令行上未设置二进制标志 (SessionNotCreated)
这是Dockerfile(由VSCode Docker扩展生成+我添加的一行,现在注释掉):
FROM microsoft/dotnet:2.1-runtime AS base
WORKDIR /app
FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src
COPY ["MyAppName.csproj", "./"]
RUN dotnet restore "./MyAppName.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet build "MyAppName.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "MyAppName.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
# FROM selenium/standalone-firefox-debug ## where does this go?
ENTRYPOINT ["dotnet", "MyAppName.dll"]
我尝试在各个点插入 selenium 独立图像,尝试从 '/bin/bash/' 入口点开始尝试查找 Firefox 是否真的在图像中(它似乎不是,不在常规位置)。它仍然抛出异常。
我真正想要的只是在我的容器中安装 firefox,以便我可以运行我的 .NET Core 控制台应用程序,但根据一些谷歌搜索,最简单的方法应该是通过 selenium 图像。
如何正确使用 selenium docker 镜像?
【问题讨论】: