docker中使用有头浏览器

docker中使用有头浏览器

docker 镜像文件,里面的selenium版本可以自己修改

FROM selenium/standalone-chrome:85.0-chromedriver-85.0-20200907
USER root

RUN apt-get update && \
  apt-get install -y xvfb && \
  apt-get install -y python3-distutils && \
  curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
  python3 get-pip.py

WORKDIR /app
COPY requirements.txt .
RUN python3 -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
COPY . .
CMD python3 main.py

python代码

from selenium import webdriver
from loguru import logger
from xvfbwrapper import Xvfb
v_display = Xvfb(width=1980,height=1280)
v_display.start()
logger.add('test.log')
# 进行无头配置
options = webdriver.ChromeOptions()
# options.add_argument('--headless')
options.add_argument('--disable-gpu')
options.add_argument('--ignore-certificate-errors')
options.add_argument('--incognito')
options.add_argument('--no-sandbox')
# 初始化浏览器
browser = webdriver.Chrome(options=options)
url = 'https://bot.sannysoft.com/'
browser.get(url)
file = browser.get_screenshot_as_png()
with open('test.png','wb') as f:
    f.write(file)
logger.info('完成')
browser.close()
v_display.stop()

你可能感兴趣的:(docker,selenium,python,docker,python,容器)