October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
World desk5 min

How to Take Microlink Screenshots of JavaScript-Rendered Pages

Use a page-specific readiness condition to capture Microlink screenshots after JavaScript-rendered content appears, including charts, tabs, and lazy-loaded sections.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If a Microlink screenshot shows a spinner, empty shell, or placeholder, the browser may have captured the page before its JavaScript finished rendering the content you need. Set a page-specific readiness condition—usually waitForSelector—and, when needed, trigger the tab or scroll action that reveals the content before capture.

Choose a readiness signal that proves your content is there

A navigation event tells you about the browser’s progress loading a document; it does not prove that a client-rendered app has hydrated, received its data, or drawn a chart. Identify a stable element that appears only when the particular content you want is ready, then wait for that element.

As an Amazon Associate I earn from qualifying purchases.

  • Best fit: waitForSelector for a page-specific element such as a chart’s SVG or the contents of a report panel.
  • Fallback: waitForTimeout when there is no reliable DOM condition to observe. A timer may be too short on a slow response and unnecessarily long on a fast one.
  • Use with care: network-idle waiting may not finish on pages that keep long-lived requests open.

Choose a selector that represents the result you need, not merely a generic app container that appears while the page is still loading. If the selector never appears, the wait can run until the request times out.

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

Wait for a rendered chart with the JavaScript SDK

Microlink’s documented SDK example sets waitUntil to domcontentloaded and waits for .chart svg:

import createClient from 'microlink.io'

const microlink = createClient({
  apiKey: process.env.MICROLINK_API_KEY
})

const { url } = await microlink.screenshot('https://app.example.com/report', {
  waitUntil: 'domcontentloaded',
  waitForSelector: '.chart svg'
})

Replace the illustrative URL and selector with the page and element you actually need. The example shows the documented invocation; it does not establish that a particular third-party page has been tested.

waitUntil selects the navigation lifecycle event. Here, domcontentloaded lets the request move past document parsing without relying on a later navigation event as proof that the app is ready. waitForSelector then supplies that content-specific condition.

Rank #2
Free Fling File Transfer Software for Windows [PC Download]
  • Intuitive interface of a conventional FTP client
  • Easy and Reliable FTP Site Maintenance.
  • FTP Automation and Synchronization

Use the REST API when you do not need the SDK

Microlink’s URL-request example uses screenshot=true, meta=false, waitUntil=domcontentloaded, and waitForSelector=.chart svg. Encode query parameters correctly when constructing a request, especially if a URL or selector contains reserved characters. Confirm the current endpoint and authentication requirements in Microlink’s documentation before deploying an integration; they are not specified here.

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

Pick a selector from the rendered page’s actual DOM. For example, a chart library may render an SVG, canvas, or another element, so do not assume .chart svg will match your application.

Prepare tabs, expandable panels, and lazy-loaded sections

Capture content behind a tab

Use click to activate the tab, then wait for an element inside the resulting panel. Microlink’s guide illustrates clicking #tab-revenue and waiting for #panel-revenue canvas. The important pairing is the user action and a selector that confirms the requested panel’s content has appeared.

Capture content loaded on scroll

For a section that loads only when it enters the viewport, use scroll to bring the section into view, wait for an element inside it, and request fullPage if the output should include the entire document. Scrolling prepares the page; the selector confirms the content is ready. A full-page setting controls capture geometry, not application readiness.

Capture one element

Microlink’s guide says an element screenshot waits for its own target to become visible. If you are capturing that element, a separate waitForSelector is only needed when you need to wait for a different content condition. A viewport or full-page screenshot may need its own readiness selector because its capture target is not necessarily the app content you are waiting for.

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

Set capture geometry and avoid unnecessary script work

Choose viewport capture when the desired result is what fits in a specific browser view; choose full-page capture when the output must include the whole document. Microlink’s screenshot materials also describe choosing image type and viewport dimensions. Browser automation documentation describes device presets and pre-capture page actions. Select the geometry based on what the recipient needs to see, rather than treating a larger capture as a readiness fix.

If the page is already complete in its initial HTML and does not need scripts, Microlink’s guide recommends javascript: false. Leave JavaScript enabled for client-rendered apps, charts, and other content that depends on it; disabling it would prevent that rendering work.

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

Keep waits within the request timeout

Microlink’s dynamic-content guide states request timeouts of 30 seconds for the free endpoint and 60 seconds for Pro. These are vendor-published operational limits in that guide, accessed October 3, 2026—not independent performance measurements. Recheck the current plan limits before implementation, and ensure any combination of navigation and readiness waiting can finish within the applicable request timeout.

Troubleshoot blank, stale, or incomplete captures

  • The screenshot shows an app shell or spinner: The navigation event likely completed before the app’s data or client rendering. Wait for an element tied to the desired result instead of relying on the navigation event alone.
  • The selector wait times out: Verify that the selector exists on the requested page and that it appears in the state you are capturing. If the content is behind a tab, click the tab first; if it is lazy-loaded, scroll it into view first.
  • The capture is slow or times out on network idle: A page may keep long-lived requests open. Prefer a content-specific selector when one exists, and keep waits within the request timeout.
  • A fixed delay works inconsistently: It may be shorter than a slow load or longer than a fast one. Replace it with a stable selector condition where possible.
  • The requested section is missing from a full-page image: If the page loads it on scroll, scroll to the section and wait for content inside it before requesting full-page capture.
  • A supposedly ready element is still empty: The selector may match a shell or placeholder rather than the rendered result. Choose an element that appears only after the chart, panel, or other target content is present.
  • A static page takes longer than necessary: Remove redundant waits. If its initial HTML already contains the needed content and scripts are unnecessary, consider javascript: false.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. Its one-request API can return a screenshot or PDF; for this example, request a WebP screenshot of the report page. See the ScreenshotNeo documentation for the API options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://app.example.com/report -o shot.webp

ScreenshotNeo’s clean-shot options accept cookie and 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 responses identify the page verdict and billing status in headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients. The free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Sign up for ScreenshotNeo’s free plan.

Frequently Asked Questions

Can I use an arbitrary delay instead of waiting for a selector?

Yes, when there is no stable DOM condition to observe, but a timer cannot confirm that the specific content has rendered.

Does the documented JavaScript SDK example prove a live page will capture correctly?

No. Its example URL and selector are illustrative; adapt them to your application and confirm the current API details before shipping.

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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

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

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Windows Errors? Fix Them Before They SpreadFree repair scan
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.