我在浏览器打开的情况下运行 92 版时遇到问题,在无头模式下工作正常。
我目前正在 docker 容器上运行我的测试。 chrome-driver 的安装如下:
RUN curl -s https://dl.google.com/linux/linux_signing_key.pub | apt-key add - \
&& echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list && \
apt-get update && \
apt-get install -y \
xvfb \
google-chrome-stable=92.\* \
unzip
RUN curl -s -o /tmp/chromedriver.zip "https://chromedriver.storage.googleapis.com/$(curl -s https://chromedriver.storage.googleapis.com/LATEST_RELEASE_92)/chromedriver_linux64.zip" && \
unzip /tmp/chromedriver.zip chromedriver -d /usr/bin/ && \
chmod +x /usr/bin/chromedriver
执行我的命令来运行测试后,浏览器打开但没有任何反应。 我被数据困住了;地址栏上,页面一直在加载。
我目前正在使用 chrome 选项:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--incognito")
chrome_options.add_argument("--disable-dev-shm-usage")
答案 0 :(得分:1)
看起来它与在 Linux 上运行的旧 Nvidia 驱动程序有关:
<块引用>您可能需要使用 --disable-gpu 在 Linux 上运行 NVIDIA 驱动程序早于 295.20
所以,添加 chrome_options.add_argument("--disable-gpu")
解决了我的问题。