Skip to content

Instantly share code, notes, and snippets.

@AlmightyOatmeal
Forked from jsok/phantom.py
Created November 20, 2017 18:46
Show Gist options
  • Save AlmightyOatmeal/5d57c5cf49b29db883d13e0f367112bc to your computer and use it in GitHub Desktop.
Save AlmightyOatmeal/5d57c5cf49b29db883d13e0f367112bc to your computer and use it in GitHub Desktop.
Use PhantomJS and Python Selenium bindings to take screenshots of websites.
import StringIO
from selenium import webdriver
from PIL import Image
# Install instructions
#
# npm install phantomjs
# sudo apt-get install libjpeg-dev
# pip install selenium pillow
driver = webdriver.PhantomJS(executable_path="node_modules/phantomjs/bin/phantomjs")
driver.set_window_size(1366, 728) # optional
driver.get('http://google.com')
driver.save_screenshot('screen_hires.png')
screen = driver.get_screenshot_as_png()
# Crop it back to the window size (it may be taller)
box = (0, 0, 1366, 728)
im = Image.open(StringIO.StringIO(screen))
region = im.crop(box)
region.save('screen_lores.jpg', 'JPEG', optimize=True, quality=95)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment