5b10b419a2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.6 KiB
2.6 KiB
id, name, kind, lang, domain, purity, version, tested, tests, test_file_path, 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 | tests | test_file_path | description | tags | signature | uses_functions | uses_types | returns | returns_optional | error_type | imports | file_path | example | params | output | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cdp_press_key_go_browser | cdp_press_key | function | go | browser | impure | 1.0.0 | false | Pulsa una tecla especial por nombre via Input.dispatchKeyEvent CDP (Enter, Tab, Escape, flechas, etc.) sobre el elemento con foco activo. |
|
func CdpPressKey(c *CDPConn, keyName string) error | false | error_go_core | functions/browser/cdp_press_key.go | // Enfocar un input y pulsar Enter para enviar el formulario _ = CdpClick(c, "input[name='q']") _ = CdpTypeText(c, "golang") _ = CdpPressKey(c, "Enter") |
|
nil si la tecla se despacho correctamente. Error si la conexion es nula, la tecla no esta en la tabla soportada, o CDP rechaza el evento. |
Ejemplo
conn, _ := CdpConnect(9222)
// Enfocar campo de busqueda, escribir y enviar con Enter
_ = CdpClick(conn, "input[name='q']")
_ = CdpTypeText(conn, "golang generics")
if err := CdpPressKey(conn, "Enter"); err != nil {
log.Fatal(err)
}
// Navegar en un desplegable con flechas
_ = CdpClick(conn, "#dropdown")
_ = CdpPressKey(conn, "ArrowDown")
_ = CdpPressKey(conn, "ArrowDown")
_ = CdpPressKey(conn, "Enter")
// Cerrar un modal con Escape
_ = CdpPressKey(conn, "Escape")
Cuando usarla
Usar cuando necesites simular pulsaciones de teclas especiales sobre el elemento con foco: enviar formularios con Enter, navegar opciones con flechas, limpiar campos con Backspace/Delete, cerrar modales con Escape, o desplazarse con PageUp/PageDown. Para escribir texto normal usa CdpTypeText.
Gotchas
- La tecla actua sobre el elemento con foco activo. Llama a CdpClick primero para enfocar el elemento objetivo.
- Teclas sin caracter imprimible (Tab, Escape, flechas, Home, End, PageUp, PageDown) no envian el campo "text" — Chrome lo requiere asi para distinguir navegacion de insercion.
- Enter envia
text: "\r"que es lo que Chrome espera para confirmar formularios y autocompletados. - Space envia
key: " "ytext: " "— funciona como barra espaciadora y como insercion de espacio en inputs. - Si la tecla que necesitas no esta en la tabla, la funcion retorna error explicito en vez de silencio.