029dbf57bd
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.5 KiB
2.5 KiB
id, name, kind, lang, domain, purity, version, tested, description, tags, signature, uses_functions, uses_types, returns, returns_optional, error_type, imports, file_path, example, params, output
| id | name | kind | lang | domain | purity | version | tested | description | tags | signature | uses_functions | uses_types | returns | returns_optional | error_type | imports | file_path | example | params | output | |||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cdp_click_xy_human_go_browser | cdp_click_xy_human | function | go | browser | impure | 1.0.0 | false | Click humanizado en coordenadas absolutas (x,y): mueve el ratón con trayectoria Bézier y despacha mousePressed/mouseReleased con micro-pausa variable. Primitivo de click compartido por las tres vías de acción del agente: por selector, por #ref del AX tree y por visión (bounding box de OCR/YOLO). |
|
func CdpClickXYHuman(c *CDPConn, x, y float64, opts MouseHumanOpts) error |
|
false | error_go_core | functions/browser/cdp_click_xy_human.go | conn, _ := browser.CdpConnect(9333) defer browser.CdpClose(conn, 0) // Click humanizado en el centro de un elemento detectado por visión (bbox): browser.CdpClickXYHuman(conn, 412.0, 318.0, browser.MouseHumanOpts{}) |
|
error si el movimiento del ratón o el despacho de eventos falla; nil en éxito. |
Ejemplo
conn, _ := browser.CdpConnect(9333)
defer browser.CdpClose(conn, 0)
// El centro del bounding box lo da el #ref del AX tree (DOM.getBoxModel) o la
// detección de visión (OCR/YOLO). Aquí, click humanizado sobre ese punto:
if err := browser.CdpClickXYHuman(conn, 412.0, 318.0, browser.MouseHumanOpts{}); err != nil {
log.Fatal(err)
}
Cuando usarla
Cuando ya tienes las coordenadas de píxel del objetivo: el centro del bounding box de un elemento
(resuelto por #ref del AX outline vía DOM.getBoxModel, o detectado por visión OCR/YOLO). Es el
único primitivo de click del agente — no despaches Input.dispatchMouseEvent a mano.
Gotchas
- Coordenadas en el sistema de la página (px CSS del viewport), no de pantalla física.
- La humanización añade latencia (movimiento Bézier + micro-pausa). Para scraping masivo de alto
volumen, el llamador debe usar un preset rápido de
MouseHumanOpts(política de sesiónfast), no humanización completa por acción. - El destino debe estar dentro del viewport visible; haz scroll al elemento antes si hace falta.