Python+Selenium浏览器自动化的Docker部署

滴水之恩,学习来自-https://www.cnblogs.com/shenh/p/9518343.html

以下demo

1、新建一个文件夹docker-selenium来做项目目录

编写docker-compose.yml

version: "3"
services:
  python:
    container_name : python
    build :
        context : ./python
        dockerfile : Dockerfile
    volumes:
      - ./shm/spider.py:/code/spider.py  # 这里把刚刚的代码映射到这个目录
    command: python /code/spider.py  # 定义启动容器执行的命令
    depends_on:
      - chrome
  chrome:
    image: selenium/standalone-chrome:latest
    ports:
      - "4444:4444"
    shm_size: 2g

 

2、编写Dockerfile

FROM python:3.8.0

COPY requirements.txt /code/requirements.txt
RUN pip install -r /code/requirements.txt -i https://pypi.douban.com/simple 
WORKDIR /code

CMD ["/bin/bash"]

3、编写运行python自动化需要安装的py插件 requirements.txt

requests
selenium
redis

4、编写需要处理的python 脚本

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

driver = webdriver.Remote(
    command_executor="http://chrome:4444/wd/hub",
    desired_capabilities=DesiredCapabilities.CHROME
)

driver.get("http://www.baidu.com")
print(driver.title)
driver.close()

5、docker bulid -t  baidu . 构建一个对象 baidu

6、docker images可以看到,你创建的这个baidu

7、最后,直接执行  docker-compose up,就开始运行你的自动化程序了

 

不积跬步,无以至千里

你可能感兴趣的:(Docker)