Osmanth WatchAn Osmanth product

Osmanth Watch / Guides

How to monitor a webpage that loads its content with JavaScript

Published 19 October 2026

Short answer: a page watcher can watch a page that builds itself with JavaScript, if it loads the page fully the way a browser does. That works on some pages and costs more time. On others the content never shows up for a program, and the honest outcome is a warning at setup. Check the starting reading against the page you see.

Some pages arrive as a thin shell and then draw their prices, lists or results with scripts. A simple watcher that only downloads the page sees the shell. This guide shows what that looks like on real pages, and what Osmanth Watch does about it.

Why the page looks empty to a program

The text of a page can come in two ways. It can be in the HTML that the server sends, or it can be added afterwards by JavaScript running in the browser. Search engines deal with the second kind by running a second step: Google describes processing JavaScript web apps in three phases, crawling, rendering and indexing, where a headless Chromium renders the page and runs the scripts. A page watcher has the same problem and the same choices: read the HTML as sent, or load the page in a browser.

The first is cheap and quick. The second is slower and more fragile, because there is more that can go wrong while it loads. Osmanth Watch tries the first, and loads the page fully only when the first doesn't show what you asked it to watch, or when the page looks like a shell. When it has to, it tells you: "This page builds itself as it opens, so we load it fully each time. That works, but is slower and a little more fragile than a simple page."

A page made to show the difference

Quotes to Scrape is a practice site with two versions of the same list of quotes. We looked at the one that builds itself with JavaScript on 19 October 2026.

Its HTML is 5,808 bytes and contains no quote elements at all. The quotes are in a script as data: nine lines of the raw HTML mention "Einstein", and they all belong to the script's data, since there are no quote elements. The HTML Standard says the script element "does not represent content for the user", so a reader that goes by visible text correctly finds nothing there.

Osmanth Watch's answer for "tell me when this page changes":

The plain version of the same site, which has the quotes in its HTML, was read without a full load, as "83 lines (1,612 characters) of content". So the product picked the right method for each.

Part of a page may need the full load and part may not

On Dropbox's plans page, "tell me when this page changes" was read as "235 lines (4,455 characters) of content" from the plain HTML, with no full load. A request for the price was different. For tell me when the price drops the product loaded the page fully, and still answered "No price was detected on this page." When we named a plan, "Plus", it read $9.99 from "the block mentioning “Plus”", again after a full load. The same page is easy for one question and hard for another.

When even the full load shows nothing

Loading a page fully doesn't always help. We looked at the Federal Reserve's press-release page on 13 October 2026. The HTML as sent contained no links to individual releases and loaded a script that fills the list in, and in the product's full-page mode the list was still not there. The starting reading was 43 lines and 372 characters. The product now warns about readings that small, with "We could read only a small amount of text from this page (372 characters), so the part you care about may be missing from what we can see."

Two other pages behaved like that when we tried them:

For each of these we don't know the exact reason, and we did not look for another way to get at the content.

What to do

See also why a page change alert fires when nothing changed for noise on pages that do read well, and how to get an alert when specific text appears on a webpage for what a words watch can see.

Limits to plan for

Starting one

Paste the page on the home page, say what you want, and compare the starting reading with what you see in your browser before you give an email address. The limits are written out in the terms.

Sources