zerodom_parse_url
Navigate a URL to retrieve its interaction graph as compact text selectors. Optionally include iframes, limit to the visible viewport, or filter occluded elements.
Instructions
Navigate to a URL and return its interaction graph.
Returns the compact text graph: [03] button 'Sign In'. CSS selectors are
kept server-side and resolved by node id, so they never cost context — pass
verbose=True for the full JSON including selectors. Nodes sharing a
repeated-list-item ancestor (<article>/<li>/<tr>, e.g. a feed or
Hacker-News-style table) are grouped under @card "title": whenever a
card holds 2+ controls — twenty identical button 'Upvote' lines are
meaningless without knowing which story each belongs to.
Set frames=True when the controls you need are inside an iframe — embedded editors, payment fields, consent gates. Off by default because it costs a read per frame and most frames on a commercial page are advertising.
Set viewport_only=True on long feed/infinite-scroll pages (a social feed,
a video site's homepage) where most of the graph is scrolled off-screen
and you only need what's currently visible — this can cut node count by
more than half on pages like that. On by default for interactive agents;
costs a getBoundingClientRect() per element. Sticks for the rest of this
session (every click/fill re-read honors it too) until the next
zerodom_parse_url call changes it — same lifetime as frames. When nodes
are being skipped, the graph's first line says how many; scroll and re-read
to see them.
Set check_occlusion=True when clicks keep failing with Playwright's
"element intercepts pointer events" — a modal backdrop, an open dropdown,
or a cookie banner is covering nodes that are still in the DOM and still
listed. This filters them out at parse time instead of at click time,
same sticky-for-the-session lifetime as viewport_only. Off by default:
the cost of an elementFromPoint() hit-test per node on a large page is
unmeasured, so it isn't imposed on every caller by default.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| frames | No | ||
| verbose | No | ||
| viewport_only | No | ||
| check_occlusion | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |