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.