Use Human commands for all input
Use Human commands for clicks, typing, and scrolling instead of the default Playwright and Puppeteer input methods. Methods such aspage.click, page.type, and page.mouse.move do not simulate human movement and timing by default. The Python and TypeScript SDK input methods, including browser.click() and browser.type(), already use the Human command layer.
Use Human commands consistently within a session. Surfsky tracks the cursor position between commands; moving it through Playwright or Puppeteer can leave that state out of sync. Avoid element.click() inside evaluate as well, since it dispatches an untrusted event.
Follow the page layout
Wait for the content to load, then useHuman.scroll to reach the section you need. Use Human.moveTo for controls that require hovering. Human.click scrolls its target into view automatically, but allow time before the click if the page requires reading or choosing an option.
Fill forms one field at a time, in the order shown on the page. Click each field before typing.
Check that each selector matches the control you intend to use. Some pages include hidden fields or links as bot traps, known as honeypots. Avoid filling every input or clicking the first match from a broad selector. Human.click checks that an element has a visible box; it does not check whether the element belongs to the actual form or navigation.
Timing
Human.click includes a short pause before pressing the button. If you call it immediately after waitForSelector returns, that pause is the only delay before the click. Keep the default preDelay and postDelay values, and allow extra time for reading or making a selection where the page requires it.
Avoid adding random mouse movements or delays to every command. Scroll to read content and hover to open controls where needed; additional movement does not necessarily make a session more realistic.
Repeated sessions can follow a recognizable sequence even when their timing varies. Where the task allows, vary the entry page, optional steps, or scroll distance.