Recommended Free Tools
To save the current browser page as a named PNG, call Selenide.screenshot("my_file_name"). To use the image inside test code instead, request OutputType.BASE64 and decode the returned value. Selenide also captures screenshots automatically when its own checks fail by default; the report folder and optional page-source artifact are configurable.
Save the current page as a named PNG
Call Selenide’s static screenshot method after the browser has reached the page you want to inspect. The named method writes a PNG artifact and returns the screenshot file’s URL, or null if it could not create the screenshot. The current Selenide 7.18.2 API documents that the PNG is always created when capture succeeds.
import static com.codeborne.selenide.Selenide.screenshot;
String pngFileName = screenshot("my_file_name");
if (pngFileName == null) {
throw new IllegalStateException("Selenide could not create the screenshot");
}
System.out.println("Screenshot: " + pngFileName);
The argument is a base name: the guide describes the resulting image as my_file_name.png. Do not add the extension unless you specifically want it included in the base name; the documented example passes the name without .png. The returned value is useful when you need to log or pass along the artifact location rather than guess where the report configuration placed it.
Take the screenshot after the action or assertion whose result you want to preserve. This captures the page currently controlled by the active WebDriver session; it is not a screenshot of an arbitrary URL in a separate browser. The one-line call is suitable for a test that needs a persistent artifact for later inspection. For code that needs image bytes immediately, use the output-type overload instead.
#1 Best Overall
- CRISP CLARITY: This 23.8″ Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
- WORK SEAMLESSLY: This sleek monitor is virtually bezel-free on three sides, so the screen looks even bigger for the viewer. This minimalistic design also allows for seamless multi-monitor setups that enhance your workflow and boost productivity
- A BETTER READING EXPERIENCE: For busy office workers, EasyRead mode provides a more paper-like experience for when viewing lengthy documents
Get screenshot data in the test
The overload that takes an OutputType returns a value for code to consume. The current API describes its possible result forms as bytes, base64 data, or a temporary file; it returns null if WebDriver does not support screenshots. The guide demonstrates OutputType.BASE64, which is convenient when your test needs to write, attach, or process the image itself.
import com.codeborne.selenide.Selenide;
import org.openqa.selenium.OutputType;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Base64;
String base64 = Selenide.screenshot(OutputType.BASE64);
if (base64 == null) {
throw new IllegalStateException("WebDriver did not provide a screenshot");
}
byte[] pngBytes = Base64.getDecoder().decode(base64);
Files.write(Path.of("current-page.png"), pngBytes);
This is a separate output path from the named screenshot call: your test writes the decoded bytes to the location it chooses. Use it when the next step is code—for example, saving an image in a test-specific directory or supplying bytes to another component—rather than relying on a report artifact path. If you want Selenide to create and report a named PNG, use the named form above.
Both snippets assume the Selenide browser session is already open and positioned on the page to capture. The static imports and API names shown here come from the official Selenide guide and the API documentation identified as version 7.18.2; no dependency declaration is included because the documentation examined for this procedure does not establish a project’s build tool or the version it should select.
Choose when Selenide captures screenshots
Capture one deliberately
A direct call is the clearest choice when only a particular test step matters: place it immediately after the event or state you want to inspect. The test then has an explicit capture point, and a named PNG can be reviewed alongside the test’s other output. This is also the most predictable way to capture a successful test when your test framework has not been configured for automatic success artifacts.
Rank #2
- CRISP CLARITY: This 22 inch class (21.5″ viewable) Philips V line monitor delivers crisp Full HD 1920x1080 visuals. Enjoy movies, shows and videos with remarkable detail
- 100HZ FAST REFRESH RATE: 100Hz brings your favorite movies and video games to life. Stream, binge, and play effortlessly
- SMOOTH ACTION WITH ADAPTIVE-SYNC: Adaptive-Sync technology ensures fluid action sequences and rapid response time. Every frame will be rendered smoothly with crystal clarity and without stutter
- INCREDIBLE CONTRAST: The VA panel produces brighter whites and deeper blacks. You get true-to-life images and more gradients with 16.7 million colors
- THE PERFECT VIEW: The 178/178 degree extra wide viewing angle prevents the shifting of colors when viewed from an offset angle, so you always get consistent colors
Capture automatically on a Selenide check failure
Selenide captures screenshots automatically when its own checks fail—for example, a failed shouldBe check. In the current Configuration API, screenshots is enabled by default. This is useful for diagnosing failures that occur before a later explicit capture call could run. The associated failure behavior documented by Selenide includes saving page source by default; whether a separate page-source file is produced depends on the page-source setting described below.
Capture successful tests or failures from other assertions
Capturing every successful test is a different requirement from preserving evidence when Selenide’s checks fail. Selenide’s guide documents JUnit 4 and JUnit 5 integrations and a TestNG listener for capturing successful tests. It also documents a way to capture screenshots for failures in assertions that are not Selenide assertions. The precise setup depends on the framework, so do not assume that the default failed-check behavior alone will save an image after every passing test or after every assertion library’s failure. Use the integration and failure-capture instructions for the framework and assertion type in your project.
- Use a named call when one known point in a test needs an image.
- Rely on the default Selenide failure capture when you need artifacts from failed Selenide checks.
- Configure the relevant framework integration when you need successful-test captures or evidence from non-Selenide assertions.
Set the report folder
The current API lists build/reports/tests as the default reportsFolder for Gradle projects. If your build collects artifacts from another directory, set the Selenide report folder explicitly rather than assuming the default fits your project.
Set it in Java
import com.codeborne.selenide.Configuration;
Configuration.reportsFolder = "test-result/reports";
Set this before the test needs Selenide to write its reports. The value is a folder path; adapt it to the artifact directory your build or CI job actually collects.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitchesRank #3
- Clear visuals. Fluid motion: A 144Hz refresh rate and 1ms MPRT deliver smooth, tear‑free motion across work, gaming, and streaming for clearer, more fluid viewing.
- Eye comfort: TÜV Rheinland 3‑star* certification reduces harmful blue light while preserving stunning color quality without compromise. *TÜV Rheinland 3-star eye comfort certification.
- Wide viewing angle: Get consistent views across a wide 178° /178° viewing angle.
- In-Plane Switching (IPS): See excellent color accuracy and consistency across wide viewing angles with In-plane Switching (IPS) technology.
- Ultra-thin bezels: Maximize your viewing experience with thin bezels.
Set it as a JVM property
-Dselenide.reportsFolder=test-result/reports
Pass the property to the JVM that runs the tests. For a build-tool invocation, place it with the other JVM system properties used by your test process; the exact command wrapper depends on how that process is launched. The current property is selenide.reportsFolder. Selenide 4.x used the older selenide.reports property, so older configuration examples may not apply to current releases.
Changing the folder controls where Selenide report artifacts are written; it does not change the image format or turn page-source saving on. Confirm the configured output directory is included in your local or CI artifact collection, especially if the test runner cleans or isolates its working directory.
Decide whether to save page source too
A screenshot is an image of the rendered page. Selenide can also save page source alongside it, which can help when the visual result alone does not explain the test state. In the current API, the page-source file is created only when Configuration.savePageSource is true. Do not treat the guide’s shorthand example of a PNG and HTML pair as a guarantee that every run creates both files: the setting controls whether the source artifact is emitted.
import com.codeborne.selenide.Configuration;
Configuration.savePageSource = true;
For Chromium, enabling Configuration.savePageSourceWithResources saves MHTML instead of plain HTML. The Selenide 7.18.0 release note, dated 2026-08-20, says configured MHTML capture falls back to HTML if MHTML capture is unavailable or fails. This behavior is version-sensitive; consult the API and release notes for the Selenide version actually used by your project before relying on a particular page-source format.
Rank #4
- CURVED FOR ENHANCED ENGAGEMENT: An immersive viewing experience with a curved monitor that wraps more closely around your field of vision; It creates a wider view, enhancing depth perception and minimizing peripheral distraction
- SMOOTH PERFORMANCE FOR SEAMLESS CONTENT: Stay in the action when playing games, watching videos, or working on creative projects; The 100Hz refresh rate reduces lag and motion blur so you don't miss a thing in fast-paced moments¹
- MORE GAMING POWER: Gain the edge with optimizable game settings; Color and image contrast can be adjusted to see scenes more vividly and spot enemies hiding in the dark; Game Mode adjusts any game to fill the screen so you can view every detail²
- KEEP IT EASY ON THE EYES: Care for your eyes and stay comfortable, even during long sessions; Advanced eye comfort technology certified by TÜV reduces eye strain by minimizing blue light and reducing irritating screen flicker²
- INCREASED VERSATILITY: Connect to more; Plug devices straight into your monitor for increased flexibility, making your computing environment even more convenient
Keep the artifacts’ purposes distinct: the PNG records visual appearance, while HTML or MHTML records page source in a different form. If your tests handle sensitive page content, decide whether source files belong in the report output and who can access collected artifacts.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Troubleshoot missing or unexpected screenshots
The returned filename is null
The named API returns null if it could not create the screenshot. Check that the WebDriver session is still available at the capture point and that the test has not already torn down or closed the browser. If the session is active and the issue persists, inspect the test output for the underlying WebDriver error; the return value alone does not identify its cause.
The OutputType result is null
The API documents null when WebDriver does not support screenshots. Verify the driver and browser session used by the test support screenshot capture. Do not pass a null value to the Base64 decoder; handle it before decoding, as in the example above.
The PNG exists but page source does not
Check Configuration.savePageSource. A successful PNG capture does not imply that a source file is enabled. If you expected MHTML, check that the browser is Chromium and that Configuration.savePageSourceWithResources is enabled; on supported versions, the documented fallback is HTML if MHTML capture cannot be performed.
Free tools Windows power users keep installed
One-click scans. No signup required.
Best Value
- 【INTEGRATED SPEAKERS】Whether you're at work or in the midst of an intense gaming session, our built-in speakers provide rich and seamless audio, all while keeping your desk clutter-free.
- 【EASY ON THE EYES】 Protect your eyes and enhance your comfort with Blue-Light Shift technology. This feature reduces harmful blue light emissions from your screen, helping to alleviate eye strain during long hours of use and promoting healthier viewing habits.
- 【WIDEN YOUR PERSPECTIVE】Our sleek minimal bezel design ensures undivided attention. The nearly bezel-free display seamlessly connects in a dual monitor arrangement, delivering an unobstructed view that lets you focus on more at once, completely distraction-free.
The artifact is in a different directory than expected
Check both the configured Configuration.reportsFolder value and the selenide.reportsFolder JVM property, then check which system actually runs the tests. The current default cited by the API applies to Gradle projects; another explicit setting or an older Selenide property in legacy configuration can lead to a different result. In CI, also verify that the directory is collected before the job removes its workspace.
A failing test has no automatic capture
Determine whether the failure came from a Selenide check, a different assertion, or a successful test for which you expected an artifact. Selenide’s automatic screenshot behavior is documented for failed Selenide checks; successful tests and non-Selenide assertion failures have separate integration or capture setup. An explicit call at the relevant point is an alternative when the failure path can reach it, but it cannot run after the test process has already stopped or the browser has been closed.
Or skip the browser setup
If you need a screenshot of a public page by URL rather than the exact state of an open Selenide session, ScreenshotNeo can return an image or PDF from one GET request. It is a website screenshot API and MCP server, not a way to capture an already-running WebDriver window. The [ScreenshotNeo API documentation](https://screenshotneo.com/docs/) describes the request options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the page verdict and billing status in headers. Its MCP server exposes take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallTo capture a logged-in or otherwise customized page, ScreenshotNeo also supports custom headers, cookies, user agents, and Authorization; it still takes a URL-based request, rather than inheriting the live state of your Selenide browser. For a reusable screenshot in a test, continue to use Selenide; for a URL-driven capture without managing browser setup, see ScreenshotNeo.
Sign up for ScreenshotNeo and get 1,000 screenshots a month free, with no card required.
Quick Recap
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.

