If a website only displays the information you want to monitor after JavaScript runs, configure urlwatch with a navigate job. That selects urlwatch’s Playwright-powered Browser job. Install urlwatch’s optional Playwright package and the required browser binaries, then add a readiness condition if the page’s content is not present when navigation finishes. Use a regular url job instead when its response already contains the content—or when a site API provides the data directly.
Why urlwatch misses JavaScript-rendered content
A regular urlwatch url job retrieves the server response. If the text of interest is inserted into the page later by JavaScript, that response may not contain it, so urlwatch has nothing useful to compare. The urlwatch 2.29 Jobs documentation describes the Browser job as a resource-intensive variant of URL jobs for pages that need JavaScript to render monitored content, and says to use it only when a URL job does not return the correct results: urlwatch Jobs documentation.
The Browser job opens the page in a headless Playwright browser and monitors the rendered result. It is the right choice when rendering is genuinely required, but it consumes substantially more resources than a normal URL request.
Set up a Browser job
1. Install Playwright and its browser runtime
Install urlwatch with its optional Playwright support, then install the browser binaries using playwright install. Follow the installation instructions for the urlwatch version and environment you use; the Browser job cannot run if the optional dependency or the selected browser runtime is missing. See the Browser job documentation for the supported configuration.
Free tools Windows power users keep installed
One-click scans. No signup required.
#1 Best Overall
- Used Book in Good Condition
2. Add a job with navigate
You can create or edit jobs with urlwatch --edit, or edit the YAML job file directly. Jobs are separated by ---. A minimal job looks like this:
name: "A page with JavaScript"
navigate: "https://site.example/"
Replace the example address with the page you want to monitor. The navigate key selects the Browser job; an optional human-readable name makes the job easier to identify.
3. Wait for the monitored content
If the page’s target text appears after the initial navigation event, configure wait_until or wait_for. For example, if the page fills an element with the monitored information after loading, wait for that element:
Rank #2
- Bookbound planner helps you keep track of passwords and favorite websites
- Room for over 200 entries; 3.5 x 6 inch page sizes
- User name and security questions field
- Tips for what makes a strong password; web resources; notes pages
- Printed on quality paper containing 30% post-consumer waste; black simulated leather cover; 3.63 x 6.13 x .21 inches
name: "Rendered status"
navigate: "https://site.example/status"
wait_for: "#status-value"
Choose a selector that appears when the actual information is ready, rather than a general page wrapper that may exist before it has been populated. urlwatch documents a default 30-second timeout for wait_for; a page that does not match the selector within that time can fail instead of producing a useful result. Consult the Jobs documentation for the exact options supported by your installed version.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Scan for outdated or missing drivers - takes under a minute3Repair Windows errors before they cause bigger problemsChoose a navigation or readiness condition
The wait_until option controls which navigation milestone urlwatch waits for:
| Condition | What it waits for | When it may help |
|---|---|---|
commit |
A response is received and document loading begins. | When you want to proceed as soon as the navigation has started. |
domcontentloaded |
The DOMContentLoaded event. | When the document has been parsed but later page resources or application data may still be pending. |
load |
The load event. | When the page’s load event is a useful readiness milestone for the content you need. |
networkidle |
No network connections for 500 milliseconds. | Use cautiously; persistent background requests can make this an unreliable signal. |
urlwatch’s advanced guide discourages relying on networkidle. A selector that corresponds to the data you need is usually a more meaningful readiness check. These conditions and the wait_for behavior are documented in the urlwatch Jobs documentation and advanced guide.
Rank #3
Check whether an API or regular URL job is a better fit
Before running a browser on every check, inspect whether the server response or an API request already contains the information:
- Try a normal
urljob. If its response includes the content you want to track, keep it; there is no need to render the page. - If the page obtains its data from an API, confirm that the endpoint returns the required information and is accessible for your monitoring use. If so, monitor that endpoint with a URL job.
- Use
navigatewhen neither the page response nor a suitable accessible API provides the desired result without rendering.
The API option depends on the specific site and endpoint, so verify it before relying on it. urlwatch’s jobs guide notes that an API-backed URL job may be much faster than launching a browser. The Browser job should follow the content requirement, not be the default for every page.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Filter the rendered result and schedule checks
Apply filters to the content you need
First confirm that the Browser job returns the rendered content. Then use urlwatch filters to select relevant HTML elements, convert the result, or reduce it to the text that should trigger a change notification. Filtering after rendering helps avoid tracking unrelated page content. The urlwatch introduction explains filter chains.
Rank #4
- Used Book in Good Condition
Run checks on a schedule
urlwatch compares the filtered output from a run with the previous result and reports differences through configured reporters. The frequency is determined by how often you run urlwatch. Its quick start recommends not checking more often than every 30 minutes and shows this cron example:
*/30 * * * * urlwatch
Adapt the command to the location and environment of your urlwatch installation. Browser-job defaults can be configured separately in urlwatch.yaml under job_defaults.browser; per-page job definitions belong in the jobs YAML file. See the quick start and Jobs documentation.
Troubleshoot common failures
| Symptom | Likely cause | What to check |
|---|---|---|
| Browser job reports a missing module or cannot start. | The optional Playwright dependency may not be installed. | Install urlwatch’s optional Playwright package in the same Python environment that runs urlwatch. |
| Playwright starts, but the browser cannot launch. | Browser binaries may be absent, or the configured browser may not be installed. | Run playwright install and confirm the selected browser is one supported by the documented browser option. |
| The job completes but misses the desired text. | A regular URL job may be retrieving only the server response, or the Browser job may continue before client-rendered data is ready. | Use navigate for rendered content, then wait for a selector tied to the target data or choose an appropriate wait_until condition. |
| A wait times out. | The selector may not match, may appear later than the documented default 30-second timeout, or the page may not have loaded the expected content. | Check the selector against the rendered page and whether the site has changed its markup or behavior. Use the documented wait options for your urlwatch version. |
Waiting for networkidle hangs or behaves inconsistently. |
The site may keep background connections open, making network inactivity a poor readiness signal. | Prefer wait_for on the desired content when possible. |
| Checks are slow or consume too many resources. | Browser jobs are substantially more resource-intensive than URL jobs. | Check whether the raw response or a site API can supply the data, and use a regular URL job if it can. |
For current urlwatch 2.x configuration, use the Browser job and filter documentation rather than old urlwatch 1.x advice about hooks. The migration guide explains that hooks were replaced in 2.0 by support for extending job kinds, filters, and reporters: urlwatch migration guide.
Best Value
- 【Featured A-Z Tabs & Untitle for Security】Our password books have recognizable alphabetical tabs with the colorful design allow you to locate quickly and save time. The anonymous cover of our password keeper is unobtrusive and stays secure.
- 【Premium Quality & Perfect Size】This password journal features a eco-leather hardcover and 100gsm no-bleed paper, equipped with an elastic band, inner pocket, pen loop and bookmark. It comes in medium format (5.3 x 7.7 inches) which is the perfect size you need.
- 【Clean Layout & Plenty of Space】 Each tab has 6 pages with 4 entries per page and contains more than 552 passwords in our password organizer. This password notebook also provides more password space in case you need to change your password.
- 【Perfect Organization & Safe Placement】We ensure this password log book provides you with a secure space to keep passwords and web addresses. You won't have to worry about passwords being leaked or hacked.
- 【Thoughtful Gift & Warm Heart】 Considering for practical gifts for family or friends? Our specially designed internet password book is sturdy and easy to use. Ideal for any occasion, it's a gift that truly shows care.
Or skip the browser setup
If your goal is to capture a rendered page rather than run urlwatch’s recurring change-detection workflow, ScreenshotNeo offers a website screenshot API. One GET request returns an image or PDF; the following example saves a WebP screenshot:
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://site.example/ -o shot.webp
See the ScreenshotNeo API documentation for authentication and capture options. Cookie and consent banners, newsletter popups, and chat widgets are removed before capture; each step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, with response headers indicating the page verdict and billing status. ScreenshotNeo also provides an MCP server with screenshot, page-info, and PDF-capture tools for AI agents. The free plan includes 1,000 screenshots per month without a card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan: 1,000 screenshots a month, 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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




