Click the page’s “Load more” button in a loop, wait after each click for newly added content, stop when the page signals that no more results are available, and then take the screenshot. Use a page-specific condition to confirm each change; a completed click alone does not prove the results have loaded.
What the workflow needs to do
- Open the target page and locate its load-more control by its accessible role and name.
- Record an observable baseline, such as the number of result cards.
- Click the control and wait for the result count to increase or another page-specific change to appear.
- Repeat until the site’s end-of-results signal appears, or until a deliberate maximum is reached.
- Capture the viewport or the full scrollable page after the last expected change is confirmed.
The button name, result selector, readiness condition, and end signal depend on the website. Inspect the target page and substitute its actual UI and markup for the examples below.
As an Amazon Associate I earn from qualifying purchases.
Use a locator and a page-specific readiness check
Playwright’s getByRole locator targets controls by user-facing role and accessible name. Locators are designed to auto-wait and retry, and resolve against the current DOM when used, which is useful when a page rerenders after each click. A locator click also waits for actionability and scrolls the control into view.
After clicking, check for a meaningful result—such as a higher card count, a new card, or a loading indicator disappearing. Avoid treating a generic wait or the click’s completion as proof that appended content is ready. Playwright notes that most explicit waitForLoadState() calls are unnecessary and discourages using networkidle as a general readiness condition; a page-specific assertion is preferable for content loaded by an in-page action. Playwright Page API
#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
JavaScript example: click until the result count stops increasing
This pattern assumes the page has a button named “Load more” and result cards matching [data-testid="result-card"]. Replace both with selectors verified on your target page. It also assumes the button is removed or hidden at the end. If the page uses a different end marker, change the stop condition.
const loadMore = page.getByRole('button', { name: 'Load more' });
const cards = page.locator('[data-testid="result-card"]');
const maxClicks = 20; // Safety limit; choose an appropriate value for this page.
for (let click = 0; click < maxClicks; click++) {
if (!(await loadMore.isVisible().catch(() => false))) break;
const before = await cards.count();
await loadMore.click();
// Wait for this site's observable signal that more content was appended.
await expect(cards).toHaveCountGreaterThan(before);
}
await page.screenshot({ path: 'page.png', fullPage: true });
toHaveCountGreaterThan is illustrative: use an assertion supported by the Playwright version installed in your project, or wait for a site-specific locator/state that proves the count increased. If an assertion times out, investigate whether the page reached its end, the selector is stale or incorrect, or the site reports completion another way. Do not keep clicking blindly.
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
The maximum is a safety bound, not a universal correct number. Set it according to the intended capture and the page’s behavior. An endlessly available button requires a site-defined stop rule or an intentional cap.
Choose the screenshot scope
- Viewport:
await page.screenshot({ path: 'page.png' });captures the currently visible browser viewport. - Full page:
await page.screenshot({ path: 'page.png', fullPage: true });captures the full scrollable document as a tall image.
Full-page capture does not fetch results that have not yet been loaded. First click through the content you want included and confirm the final change; then take the screenshot.
Rank #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.
Adapt the loop to the target page
When the button becomes disabled
Check the button’s disabled state after each confirmed append and exit when the site disables it. Do not assume every site uses this convention.
When the button disappears or an end marker appears
Use the actual behavior observed on the page: the control may disappear, or a separate “end of results” element may become visible. Make that signal the loop’s exit condition.
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
When results are not represented by cards
Choose a stable, observable signal that changes after a successful click—for example, a result count or a particular newly added item. The example’s test ID is not a Playwright requirement; it is only a placeholder for a selector grounded in the page’s markup.
Recommended Free Tools
Troubleshooting
- The click times out: Confirm the accessible name and role, and that the control is visible and enabled. A rerender may change the control’s state or replace it; locators resolve against the current DOM, but the locator still has to match the current UI.
- The click succeeds but the count does not change: The click may have reached the end, the site may use a different loading signal, or the card selector may not match appended items. Inspect the page’s actual end condition and result markup before retrying.
- The readiness assertion times out: Check whether the page appends content asynchronously, whether an error or end marker appeared, and whether the count is the right success signal. Replace the example assertion with a condition that reflects the site.
- The loop never ends: Add or correct a site-specific end condition and retain a deliberate maximum click count as a safety bound. A full-page screenshot is not a substitute for a stopping rule.
- The screenshot omits later results: Ensure the loop actually loaded those results before capture.
fullPage: trueexpands the captured document; it does not trigger the site’s load-more behavior.
Or skip the browser setup
If you need a screenshot of the page after its content is ready, ScreenshotNeo offers a one-request screenshot API. It does not replace the repeated-click workflow when you specifically need to trigger a page’s load-more control; use Playwright for that interaction, then use the capture method that fits your workflow.
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.
For a direct capture of a URL, the API call is:
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. Its consent-cleanup steps accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each step can be turned off. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. ScreenshotNeo also provides an MCP server with screenshot, page-info, and PDF-capture tools for AI agents.
Sign up for ScreenshotNeo to get 1,000 screenshots per month free with no card; paid plans start at $5 for 3,000 shots.
Frequently Asked Questions
Does `fullPage: true` click every “Load more” button?
No. It captures the scrollable content already loaded in the document; the interaction loop must load the results first.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Should I wait for `networkidle` after each click?
Not by default. For in-page loading, wait for a page-specific change such as an increased result count.
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.




