Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Selenium IDE has no native screenshot command in its documented command list. Use the IDE to record and replay browser steps, then use Selenium WebDriver in a host-side script to save a page or element screenshot after the browser reaches the state you need. A saved .side file is the test project, not an image.

Does Selenium IDE have a screenshot command?

No native screenshot or “capture screenshot” command appears in the current Selenium IDE command reference. The IDE can author and replay browser actions, including clicks, waits, assertions, and scripts, but the documented command set does not provide the WebDriver screenshot endpoint or a way to write arbitrary files to your computer.

This distinction matters: a screenshot is an image file, while Selenium IDE’s saved project is a test definition. The Selenium IDE getting-started guide describes the saved project as a single .side file. The IDE FAQ explains that, as a browser extension, it does not have filesystem access. See the Selenium IDE getting-started guide and Selenium IDE FAQ.

Choose the right screenshot workflow

Workflow Screenshot support File access Browser coverage Programming required
Selenium IDE extension playback No documented native screenshot command The extension cannot directly write files; saving the project uses the browser download flow Playback in the browser where the IDE is installed Low for recording and replaying tests
WebDriver script Page and element screenshot methods The script can save the image through the language’s file API Depends on the WebDriver/browser setup you configure Some; you write or adapt a script
Selenium IDE command-line runner Configure screenshot capture in the runner or exported WebDriver implementation; the IDE command list itself has no screenshot command Handled by the runner or its host-side implementation The getting-started guide points to the runner for additional browsers Depends on your runner configuration and test workflow

If you need a screenshot with the least ambiguity and control over where it is saved, use WebDriver and call its screenshot method after the page has loaded and any required interactions have completed. Use the runner when you specifically need to execute a .side test across additional browsers; do not assume the project file itself contains or saves screenshots.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use Selenium IDE to prepare the browser state

  1. Install Selenium IDE from the Chrome or Firefox web store.
  2. Record a test or create one in the IDE. Add the navigation, clicks, and waits needed to reach the page state you want to capture.
  3. Save the project from the IDE. The output is a .side project file, not a screenshot.
  4. Replay the flow in the IDE if you want quick in-browser playback. For additional browsers, use the command-line runner described in the getting-started guide.
  5. Recreate or export the flow in a supported WebDriver language, then call that language’s screenshot API at the appropriate point in the flow.

The last step is where image capture happens. A practical division is to keep the recorded actions as a reference for the required interactions, while making the WebDriver script explicit about waiting for the target state and writing the resulting image.

Capture a page screenshot with Python WebDriver

The following is a minimal runnable Selenium WebDriver example that opens a page and saves the current browsing context as a PNG. Install Selenium and have a compatible Chrome browser and driver available to your Selenium setup.

from pathlib import Path
from selenium import webdriver

output = Path("screenshots")
output.mkdir(parents=True, exist_ok=True)

driver = webdriver.Chrome()
try:
    driver.get("https://example.com")
    saved = driver.save_screenshot(str(output / "example.png"))
    if not saved:
        raise RuntimeError("WebDriver did not save the screenshot")
finally:
    driver.quit()

save_screenshot writes the current page view to the path supplied; the parent directory must exist, which is why the example creates it first. The try/finally ensures that the browser is closed even if navigation or capture raises an error. The screenshot is taken at the point where the method is called, so put it after navigation and after any interactions or waits needed to reach the desired state.

Capture one element instead of the page

When you need only a particular component, locate it and call its element screenshot method. The WebDriver documentation shows Python’s element.screenshot('./image.png') form.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
from pathlib import Path
from selenium import webdriver
from selenium.webdriver.common.by import By

output = Path("screenshots")
output.mkdir(parents=True, exist_ok=True)

driver = webdriver.Chrome()
try:
    driver.get("https://example.com")
    element = driver.find_element(By.CSS_SELECTOR, "main")
    element.screenshot(str(output / "main.png"))
finally:
    driver.quit()

Replace main with a selector that identifies the element on your target site. If the selector matches nothing, WebDriver cannot take the element screenshot; if it matches the wrong element, the image will not represent the intended component.

Wait for the state you want to capture

Do not rely on an arbitrary pause when the page has a condition you can identify. Selenium IDE’s command set includes waits, and a WebDriver implementation can likewise wait for the relevant element or state before capturing. For example, in Python you can wait until a target element is present:

from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

# After driver.get(...):
WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.CSS_SELECTOR, "main"))
)
driver.save_screenshot("screenshots/ready.png")

This example assumes the output directory exists and that the page exposes a matching main element. Presence confirms the element has entered the DOM; if your target depends on visibility, interaction completion, or a particular text value, wait for that condition instead.

What IDE scripts can and cannot do

Selenium IDE’s execute script command can run page JavaScript. The Selenium FAQ gives scrolling with window.scrollTo(0,1000) as a workaround example. That can change the browser’s page state, but it does not turn page JavaScript into a host-side screenshot API or grant the extension arbitrary local-file writing. Scrolling and saving an image are separate tasks.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The IDE FAQ also notes that there is no distinct built-in scrolling command because the underlying Selenium implementation does not provide one. Use page JavaScript for a documented scrolling workaround if appropriate, then take the screenshot through WebDriver or through a runner configured for capture. Do not expect a JavaScript snippet inside the IDE to save a PNG to your computer.

Capture screenshots while running a .side file

If your goal is to keep using the .side test, there are two practical paths:

  • Need a quick playback? Run the test in Selenium IDE, then reproduce its steps in WebDriver code for image capture.
  • Need more browser coverage? Use the Selenium IDE command-line runner, which the getting-started guide directs users to for additional browsers. Configure screenshot capture in the runner or use an exported/recreated WebDriver implementation.

The key limitation remains the same in either case: the IDE’s documented command catalog does not list a screenshot command. Check the runner’s own configuration for how it handles artifacts, paths, and failures; those behaviors are not specified by the IDE command list itself.

Troubleshoot missing or incorrect screenshots

No screenshot command appears in the IDE

This is expected: the current documented IDE command list has no native screenshot command. Use WebDriver’s screenshot method or configure the runner/host-side implementation instead.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The .side file is not an image

A .side download is the test project. The IDE FAQ explains that the extension lacks filesystem access, and project saving therefore uses the browser download flow. To create an image, invoke WebDriver’s page or element screenshot method and supply an image-file path.

The screenshot is blank or captures the wrong moment

Call the screenshot method after navigation and after the actions that produce the intended page state. Replace a fixed pause with a wait for a meaningful element or condition when possible. If the screenshot is still blank, inspect the page in the same browser session and check whether navigation completed or the expected element appeared before capture.

Element capture fails

Verify that the selector is valid for the current page and that it identifies an element before calling element.screenshot. If the page creates the element later, wait for it first. If only a whole-page view is needed, use the driver’s page screenshot method instead.

The output path fails

Make sure the parent directory exists and that the host process has permission to write there. The example creates its screenshot directory before capture. Also check the exact path passed to WebDriver; the Selenium IDE browser extension’s project download mechanism is separate from the WebDriver script’s filesystem access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cross-browser runner behavior is unclear

The IDE’s getting-started guide points to the command-line runner for additional browsers, but screenshot behavior must be configured in the runner or WebDriver implementation. Consult the runner’s configuration for its browser selection and artifact handling rather than assuming the .side file defines a screenshot destination.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Performance, reliability, and cost considerations

Screenshot capture itself belongs to the browser automation run, so account for navigation and page readiness before the capture call. A condition-based wait avoids taking the image before the page reaches the required state; an unnecessary long fixed delay slows every run without establishing that the content is ready. For reliable automation, close WebDriver in a finally block and create the output directory explicitly.

The official Selenium IDE sources cited here publish no material statistics about screenshot speed, reliability rates, or screenshot-related costs. Treat those as properties of your own browser, runner, host, and target pages rather than assuming a universal figure.

Or skip the browser setup

If you only need a screenshot from a URL rather than an IDE-recorded interaction flow, ScreenshotNeo provides a website screenshot API and MCP server. Its one-call request can return PNG, JPEG, WebP, or PDF; its clean-shot steps accept cookie/consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture, and each step can be disabled. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed; responses identify page verdict and billing status in headers.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

cURL example, with the API details in the ScreenshotNeo documentation:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

ScreenshotNeo also has an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots. Start with the free ScreenshotNeo sign-up.

Frequently Asked Questions

Can Selenium IDE save a screenshot directly from a recorded test?

Not through a documented native screenshot command. Use a WebDriver implementation or configure screenshot capture in the command-line runner or host-side code.

Can execute script save a screenshot file?

No. It can run page JavaScript, but it does not provide WebDriver’s screenshot endpoint or arbitrary filesystem writing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.