zshot/cliDownload

Actions

The navigator clicks, types and taps through the browser’s own input, so a page receives the events a person’s actions produce.

  • A click moves the pointer to the element on a shallow arc, presses for 60–120 ms at a random point within it rather than its centre, and releases. The pointer then leaves the page, so nothing stays hovered in the capture. Under a touch --device the click is a tap.
  • A fill clicks into the field and types it, 45–95 ms a key. One fill spends at most about 3 seconds typing: a longer value is typed faster. Text a US keyboard has no key for is inserted the way an input method inserts it.
  • A fill then leaves the field, so a page that reads the field’s change sees the value. A field that suggests values keeps focus for its suggestions. When the click opens a field of the element’s own, as a select2 dropdown opens its search box, the text goes there, and a replay script fills that field.
  • A checkbox is clicked.
  • NOTE keeps a note for the rest of the session, such as a total read on one page or what is left to check. Every later step shows the notes, every navigator of an escalation crew sees them, and an --llm-format-model extraction receives them with the account of the navigation. A note is the NOTE line and the list that follows it, at most 2,000 characters, and the last 20 are kept. A NOTE costs no step. Only a navigator that writes text is offered NOTE.
  • SCROLL turns the mouse wheel by pixels: SCROLL DOWN 600 scrolls the page, and SCROLL DOWN 600 @e12 scrolls the panel or list holding that element, or the panel itself. A panel that scrolls, such as a terms box, has its own ref and shows how far it is scrolled: @e12 [generic] scrolled 0 of 886 px down. SCROLL TO @e7 brings an element into view without clicking it. Items a feed loads as it scrolls appear only after scrolling. A scroll that moves nothing is noted, so the navigator learns it reached the end.
  • PRESS_KEY presses a key or combination on the focused element: Escape, Tab, Shift+Tab, arrows, PageDown, F5, a single character, or a shortcut such as Control+A. On macOS a Command shortcut runs its editing command, such as undo or select all.
  • POINTER_DOWN presses on an element or point and holds until POINTER_UP, with POINTER_MOVE dragging in between. With WAIT between them the navigator holds a “Press & Hold” challenge or drags a slider or a draggable item to its drop. A press ends when the page loads another, and one still held at the end is released before the capture.

What the Navigator Sees

The navigator is offered only what a person can see. A link or field hidden with opacity: 0, clip-path, a collapsed box or a place off the page is left out, so a honeypot built to catch a bot is neither followed nor filled. An element that is hidden when the pointer reaches it is not clicked, and the navigator chooses again.

An element a person can see but no pointer reaches, one that is covered, still moving or inside a frame, is activated by script, and a <select> is set by script. A page can tell those from a person’s.

Links outside the navigator’s scope are left out too.

HTTP Errors

A page that answers with an HTTP error is stated as one. A page fetched with GET that answers 429, 502, 503 or 504 is reloaded before the navigator reads it, up to three times, after the server’s Retry-After or a pause of 2, 5 then 10 seconds. A form that was posted is never sent again.