Examples

How to take a full page screenshot with Python and Selenium

Install Selenium for Python

pip install selenium

selenium 4.11+ includes Selenium Manager, which downloads the right chromedriver automatically — no separate driver install needed.

Take full page screenshot and save to file

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless=new')

driver = webdriver.Chrome(options=options)
driver.get('https://www.htmltoimage.com/demo')

# Chrome can't natively capture beyond the viewport, so size the window
# to the full height of the document first.
width = driver.execute_script('return document.documentElement.scrollWidth')
height = driver.execute_script('return document.documentElement.scrollHeight')
driver.set_window_size(width, height)

driver.save_screenshot('full-page.png')
driver.quit()

Find out how to change the size of the viewport with Python and Selenium.

That was 17 lines of code — plus a browser to run in production

Keeping headless browsers fed, patched and scaled is a job in itself. We built Urlbox so the same screenshot is one API call:

curl "https://api.urlbox.com/v1/YOUR_API_KEY/png?url=https://example.com"

Try the Urlbox screenshot API — free trial, no browser babysitting.