在 Docker 内执行的 Selenium Grid 不会自动下载文件

问题描述 投票:0回答:1

我正在尝试部署一个使用 Selenium 从网页下载 PDF 文件的应用程序。如果我在本地运行容器,一个使用 Python 应用程序,另一个使用 Selenium Grid,它会正常工作并在指定目录中自动生成预期的文件。

但是当我在远程服务器内运行同一组容器时,出于部署目的,它会显示一个查找器菜单,要求我确认文件的下载,有人知道如何解决这个问题吗?

更改文件的目录,我正在尝试自动下载文件。

我的

docker-compose.yml
文件如下:

version: "3.9"

networks:
  publican-back-network:
    name: publican-back-network

volumes:
  publican-back-volume:
    name: publican-back-volume

services:
  publican-back-db:
    container_name: publican-back-db

    image: mysql:latest

    env_file:
      - ./environments/local-container.env
    
    volumes:
      - publican-back-volume:/var/lib/mysql

    ports:
      - 7221:3306

    networks:
      - publican-back-network

    healthcheck:
      test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost"]
      timeout: 20s
      retries: 10

  selenium-grid-service:
    container_name: selenium-grid-service

    image: selenium/standalone-chrome:latest

    shm_size: 2g
    
    volumes:
      - ./downloaded_files:/home/seluser/Downloads

    ports:
      - 7865:7900
      - 4441:4444
    
    networks:
      - publican-back-network
    
    healthcheck:
      test: ["CMD", "wget", "--spider", "http://localhost:4444"]
      interval: 10s
      timeout: 5s
      retries: 3

  publican-back-service:
    container_name: publican-back-service

    build:
      context: .
      dockerfile: Dockerfile
      target: runtime-stage

    image: publican-back-image:1.0

    volumes:
      - ./downloaded_files:/app/downloaded_files

    env_file:
      - ./environments/local-container.env

    networks:
      - publican-back-network

    depends_on:
      selenium-grid-service:
        condition: service_healthy
      
      publican-back-db:
        condition: service_healthy


enter image description here

python docker selenium-webdriver docker-compose selenium-grid
1个回答
0
投票

您需要检查卷部分中正确的文件夹映射。

volumes:
      - "/home/user/Downloads:/home/docker-image/downloads"
© www.soinside.com 2019 - 2024. All rights reserved.