• Stars
    star
    289
  • Rank 138,822 (Top 3 %)
  • Language
    Dockerfile
  • Created over 6 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Dockerized Selenium and Python with support for Chrome, Firefox and PhantomJS

dockselpy

Dockerfile example on how to "assemble" together Selenium (with support for Chrome, Firefox and PhantomJS), Python and Xfvb.

Information

Recent struggle with finding a docker image for Selenium that supports headless versions for both Firefox and Chrome, led to the process of building my own version.

The image is build with the following dependencies:

  • latest Chrome and chromedriver
  • latest Firefox and geckodriver
  • latest stable PhantomJS webkit (v2.1.1)
  • Selenium
  • Python 3
  • Xvfb and the python wrapper - pyvirtualdisplay

Running:

  • docker

    docker build -t selenium_docker .
    docker run --privileged -p 4000:4000 -d -it selenium_docker 
    
  • docker-compose

    docker-compose stop && docker-compose build && docker-compose up -d
    

Example

from pyvirtualdisplay import Display
from selenium import webdriver

display = Display(visible=0, size=(800, 600))
display.start()

browser = webdriver.Firefox()
browser.get('https://www.google.com/')
print(browser.title)

browser.quit()
display.stop()

Detailed examples on how to use Firefox with custom profile, Google Chrome with desired options or PhantomJS can be found in the source.