gpt4 book ai didi

docker - 在 headless (headless) chrome Docker 中获取运行 selenium 的空页面

转载 作者:行者123 更新时间:2023-12-04 13:29:59 37 4
gpt4 key购买 nike

我正在基于 Oracle Linux 的 Docker 中的 headless (headless) chrome 中运行测试用例。
我请求的页面应该被重定向到带有用户名密码字段的身份验证页面,但是我在 docker server() 中得到了空白页面。这在我的 macbook 上运行良好。
这是我尝试直接使用 docker 内部的 chrome 浏览器运行相同的输出

bash-4.2# google-chrome --headless --no-sandbox  --dump-dom --ignore-ssl-errors --ignore-certificate-errors  --ssl-protocol=TLSv1 --allow-running-insecure-content --allow-insecure-localhost  https://example.com/
[0108/134257.881648:ERROR:bus.cc(393)] 无法连接到总线:无法连接到套接字/run/dbus/system_bus_socket:没有那个文件或目录
**[0108/134327.972921:ERROR:cert_issuer_source_aia.cc(104)] AiaRequest::OnFetchCompleted 得到错误 -3
**
操作系统详细信息:Linux 7e3f36f795d9 4.1.12-124.45.6.el7uek.x86_64 #2 SMP Wed Nov 25 06:46:51 PST 2020 x86_64 x86_64 x86_64 GNU/Linux
即使我在 linux docker 中运行,传递的用户代理也是“--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36” .我应该使用 Linux 用户代理吗?
Chrome 二进制文件和 Chrome webdriver 版本:87.0.4280.88
这可能是什么原因,我被困在过去 2 天里。
提前致谢。
Docker 文件如下
        FROM base_image
ARG USER=usr
RUN yum -y install wget \
&& wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm \
&& yum -y install libappindicator-gtk3-12.10.0-13.el7.x86_64 \
&& yum -y install libXScrnSaver-1.2.2-6.1.el7.x86_64 \
&& yum -y install liberation-fonts-1.07.2-16.el7.noarch \
&& yum -y install liberation-narrow-fonts-1.07.2-16.el7.noarch alsa-lib-1.1.8-1.el7.i686 xdg-utils alsa-lib-devel\
&& wget http://mirror.centos.org/centos/7/os/x86_64/Packages/vulkan-filesystem-1.1.97.0-1.el7.noarch.rpm \
&& wget http://mirror.centos.org/centos/7/os/x86_64/Packages/vulkan-1.1.97.0-1.el7.x86_64.rpm \
&& rpm -ivh vulkan-filesystem-1.1.97.0-1.el7.noarch.rpm \
&& rpm -ivh vulkan-1.1.97.0-1.el7.x86_64.rpm \
&& rpm -ivh google-chrome-stable_current_x86_64.rpm \
&& yum clean all
RUN rm -rf /var/cache/yum;
EXPOSE 8080

最佳答案

所以肯定是你的 docker 镜像中的问题。安装中有很多事情发生,我没有看到最明显的安装实际 chromedriver .

# install chromedriver
RUN apt-get install -yqq unzip
RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip
RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/
您可以在此查看有关自定义 docker 镜像的更多信息 answer and thread .此外,我建议使用预建 Selenium docker image这对我来说每次都完美无缺。

关于docker - 在 headless (headless) chrome Docker 中获取运行 selenium 的空页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65630375/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com