What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Puppeteer has no documented built-in screenshot option that disables animations. Before calling page.screenshot(), either emulate the page’s reduced-motion preference, inject CSS that suppresses CSS motion, or use the Web Animations API to control active animations. The right choice depends on whether you want to test the site’s accessibility behavior or simply capture a stable frame.
Choose the right way to stop motion
| What you need | Approach | Important limitation |
|---|---|---|
| Test how the site responds to reduced-motion preferences | Emulate prefers-reduced-motion: reduce |
The page must implement a response to that preference. |
| Suppress CSS transitions and animations in one capture | Inject a temporary CSS override | This does not stop JavaScript from changing the DOM or styles. |
| Move finite active animations to their end state | Use document.getAnimations() and guarded finish() calls |
Infinite animations and some playback states can throw; the final state may not be the one you want. |
Puppeteer’s documented capture method is page.screenshot(). The current API reference search result identifies Puppeteer 25.12.0, but check the documentation for the version installed in your project before relying on version-specific APIs: Puppeteer screenshot options.
As an Amazon Associate I earn from qualifying purchases.
Emulate reduced motion
Use media emulation when you want the page to behave as it would for a visitor whose operating-system preference requests reduced motion. This changes the media feature exposed to the page; it does not independently switch off every animation.
await page.emulateMediaFeatures([
{ name: 'prefers-reduced-motion', value: 'reduce' },
]);
await page.screenshot({ path: 'capture.png' });
The site needs CSS or JavaScript that responds to prefers-reduced-motion. For example, its stylesheet might reduce or remove motion inside a matching media query. Puppeteer documents this media feature in its media emulation API. Because that URL is for the next documentation, verify availability against your installed release.
#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
Suppress CSS animations and transitions for one capture
When the goal is a steady screenshot rather than testing reduced-motion behavior, inject a style element before capture. This disables CSS animations and transitions and makes smooth scrolling behave instantly:
await page.evaluate(() => {
const style = document.createElement('style');
style.dataset.screenshotMotionOverride = 'true';
style.textContent = `
*, *::before, *::after {
animation: none !important;
transition: none !important;
scroll-behavior: auto !important;
}
`;
document.head.append(style);
});
await page.screenshot({ path: 'capture.png' });
The !important declarations help override ordinary author styles. This is a page-side CSS change made with page.evaluate(), not a Puppeteer screenshot option. It does not freeze application code that keeps updating inline styles, replacing elements, or changing content. Inspect the target page if motion or layout changes continue after the override.
Finish or inspect active Web Animations
document.getAnimations() returns active CSS animations, CSS transitions, and Web Animations. To seek animations to their end state, call finish() with error handling before the screenshot:
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
await page.evaluate(() => {
for (const animation of document.getAnimations()) {
try {
animation.finish();
} catch {
// Infinite animations and other invalid finish states need a separate policy.
}
}
});
await page.screenshot({ path: 'capture.png' });
finish() seeks an animation to the end in its playback direction. It can throw when an animation has an infinite end time or a playback rate of zero. For a looping animation, decide whether to cancel it, suppress it with CSS, or set a specific visual state instead of blindly finishing every animation.
Put the preparation before the screenshot
-
Navigate to the page and wait until it is ready for your capture. Puppeteer’s screenshots guide describes preparing the page and then calling
Page.screenshot(): Screenshots guide. -
Choose reduced-motion emulation if you are testing the site’s response to that preference; choose the CSS override for a capture that should omit CSS motion; or use the Web Animations API when you need to control animation objects.
Rank #3
SaleSceptre New 22-Inch Gaming Monitor, FHD 1080p, Up to 144Hz, HDMI, DisplayPort, Built-in Speakers, Machine Black (E225W-FW144 Series, 2026)- 【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.
-
Apply the chosen setting or override before taking the screenshot. If the result still changes, check for JavaScript-driven updates or other page behavior that CSS animation rules do not control.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Call
page.screenshot()with your desired output options, such aspath. Confirm the available options against the Puppeteer version in your project.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. A single GET request captures a URL. For example, with cURL:
Rank #4
- Incredible Images: The Acer KB272 G0bi 27" monitor with 1920 x 1080 Full HD resolution in a 16:9 aspect ratio presents stunning, high-quality images with excellent detail.
- Adaptive-Sync Support: Get fast refresh rates thanks to the Adaptive-Sync Support (FreeSync Compatible) product that matches the refresh rate of your monitor with your graphics card. The result is a smooth, tear-free experience in gaming and video playback applications.
- Responsive!!: Fast response time of 1ms enhances the experience. No matter the fast-moving action or any dramatic transitions will be all rendered smoothly without the annoying effects of smearing or ghosting. A 120Hz refresh rate speeds up the frames per second to deliver smooth 2D motion scenes in gaming and video.
- 27" Full HD (1920 x 1080) Widescreen IPS Monitor | Adaptive-Sync Support (FreeSync Compatible)
- Refresh Rate: Up to 120Hz | Response Time: 1ms VRB | Brightness: 250 nits | Pixel Pitch: 0.311mm
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
See the ScreenshotNeo API documentation for request options. ScreenshotNeo accepts cookie and consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. Its MCP server offers take_screenshot, get_page_info, and capture_pdf 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.
Sign up for 1,000 free screenshots a month, with no card required.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Troubleshooting
The reduced-motion code runs but animations still play
Emulation only changes the preference the page sees. Confirm that the page actually has CSS or JavaScript that responds to prefers-reduced-motion: reduce. If you need to suppress CSS motion regardless of site support, use the injected override instead.
The CSS override does not make the screenshot stable
The override targets CSS animations and transitions, not JavaScript timers, application state changes, or scripts that rewrite styles and content. Determine whether the page is changing through application code; CSS alone cannot freeze those updates.
Best Value
- Full HD Portable Monitor - MNN 15.6inch portable laptop monitor with 1920*1080 resolution, advanced IPS glossy screen support 178° full viewing angle, it renders accurate and bright color, draws you into the video or game with lifelike colors and amazing detail.It can effectively reduce blue light radiation damage, no flickering, eye-care, and make it easier to watch for a long time.A second monitor for working from home.
- Double Type-C Port -For Plug & Play, the MNN monitor provides 2 Full Feature Type-C ports. Only One USB Type-C Cable is required to connect to the power supply & display signal transmission. NOTE: Your device should support thunderbolt 3.0 or USB 3.1 Type C DP ALT-MODE.which supports multiple connect ways to your laptops, PC, Phones, Macbooks, PS5/PS4, Xbox, and Switch.
- Lightweight Ultra Slim for Travel - As a portable external monitor,MNN portable laptop monitor easily accommodate to every suitcase and backpack and stress-free when you are holding it for a long time. They are truly portable computer monitors for travelers, students, gamers,engineers, and everyone.
- Give consideration to work and games - through multiple display modes [Copy Mode/Extended Mode/Second Screen Mode/Portrait Mode], we can bring you a clear second screen in the meeting, and expand the screen anytime and anywhere to improve work efficiency and improve the quality of life. Adjusting to HDR mode can upgrade the image to a new level, providing you with brighter highlights,deeper and more realistic colors, more realistic images, and amazing viewing/gaming experience.
- Powerful Smart Cover - MNN portable external monitor can work in both landscape and portrait mode, can be used as a gaming monitor, screen extender for laptop or phone. Comes with a scratch-proof smart cover made of durable PU leather exterior, doubles as a stand, provides comprehensive protection for this portable computer monitor.
animation.finish() throws
An animation may have an infinite end time or an invalid playback state, such as a playback rate of zero. Catch errors per animation and choose a separate policy for looping or otherwise unfinishable animations rather than assuming every animation has a finite end.
The capture still shows an unwanted final state
Finishing an animation seeks to its end, which may not match the desired frame. Use CSS suppression or deliberately set the page to the state you need before capturing.
A screenshot option or media-emulation method is unavailable
Check the Puppeteer package version and consult documentation for that release. The media-emulation example is from the next documentation, and screenshot options can differ across versions.
Frequently Asked Questions
Does Puppeteer support animations: 'disabled' in screenshot options?
The documented screenshot options do not include a built-in animation-disable switch. Prepare the page before calling page.screenshot().
Does document.getAnimations() include CSS transitions?
Yes. It includes CSS animations, CSS transitions, and Web Animations.
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.




