项目作者: rafalf

项目描述 :
Docker debian container with python, selenium webdriver (headless chrome and gecko), pytest
高级语言: Python
项目地址: git://github.com/rafalf/docker-debian-selenium-headless.git
创建时间: 2017-10-05T08:19:29Z
项目社区:https://github.com/rafalf/docker-debian-selenium-headless

开源协议:

下载


update drivers (current: geckodriver-v0.19.0 , chrome-2.33)

geckodriver releases
chromedriver releases

Cleaning local docker repository

  1. docker ps -a | egrep "[Ee]xited" | awk '{print $1}' | xargs -Izz55 docker rm zz55
  2. docker images | sed -E "s/[[:space:]]+/ /g" | awk '{print $3}' | xargs -Izz55 docker rmi zz55
  3. docker volume ls | sed -E "s/[[:space:]]+/ /g" | awk '{print $2}' | xargs -Izz55 docker volume rm zz55

Build

  1. docker build -t debian-headless .

Running an interactive shell

  1. docker run -it debian-headless /bin/bash

Chrome tests:

  1. xfvb
    1. chrome_test_xfvb.py
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.chrome.options import Options
  4. import xvfbwrapper
  5. # Start headless display
  6. display = xvfbwrapper.Xvfb()
  7. display.start()
  8. print('display started')
  9. chrome_options = Options()
  10. chrome_options.add_argument('--no-sandbox')
  11. chrome_options.add_argument("--disable-gpu")
  12. driver = webdriver.Chrome(chrome_options=chrome_options)
  13. driver.get("http://www.google.com")
  14. print(driver.title)
  15. driver.quit()
  16. display.stop()
  17. print('display stopped')
  1. —headless
    1. chrome_test.py
  1. from selenium import webdriver
  2. from selenium.webdriver.common.keys import Keys
  3. from selenium.webdriver.chrome.options import Options
  4. chrome_options = Options()
  5. chrome_options.add_argument("--headless")
  6. chrome_options.add_argument('--no-sandbox')
  7. chrome_options.add_argument("--disable-gpu")
  8. driver = webdriver.Chrome(chrome_options=chrome_options)
  9. driver.get("http://www.google.com")
  10. print(driver.title)
  11. driver.quit()

Resources:

debian library
python-headless-chromedriver fail out of the box
firefox-headless
docker ignore error