Files
fn_registry/apps/script_navegador/app.md
T
egutierrez 3c250a9252 feat: app script_navegador y dashboard Metabase
App Go para ejecutar scripts de navegación automatizada usando las
funciones CDP del registry. Incluye script de creación de dashboard
en Metabase para monitoreo.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:24:39 +02:00

3.3 KiB

name, lang, domain, description, tags, uses_functions, uses_types, framework, entry_point, dir_path
name lang domain description tags uses_functions uses_types framework entry_point dir_path
script_navegador go infra Ejecutor de scripts de navegador CDP sobre Chrome. Lee pasos desde YAML y los ejecuta en secuencia registrando cada resultado en operations.db.
cdp
chrome
browser
automation
yaml
chrome_launch_go_infra
cdp_connect_go_infra
cdp_navigate_go_infra
cdp_click_go_infra
cdp_type_text_go_infra
cdp_wait_element_go_infra
cdp_evaluate_go_infra
cdp_get_html_go_infra
cdp_screenshot_go_infra
cdp_close_go_infra
main.go apps/script_navegador

Descripcion

CLI Go que lee un archivo YAML con pasos de navegacion CDP y los ejecuta sobre Chrome, registrando cada paso y su resultado en operations.db.

Uso

# Conectarse a Chrome ya corriendo en puerto 9222
go run . --script examples/busqueda_google.yaml

# Lanzar Chrome nuevo (headless)
go run . --script examples/busqueda_google.yaml --launch --headless

# Puerto personalizado
go run . --script examples/busqueda_google.yaml --port 9333

Formato del script YAML

name: "nombre_del_script"
steps:
  - action: navigate
    url: "https://ejemplo.com"

  - action: wait
    selector: "#elemento"
    timeout_ms: 5000           # opcional, default 10000

  - action: click
    selector: "#boton"
    continue_on_error: true    # opcional, default false

  - action: type
    selector: "input[name=q]"  # hace click primero para enfocar
    text: "texto a escribir"

  - action: screenshot
    path: "/tmp/captura.png"
    full_page: false           # opcional, default false

  - action: evaluate
    expr: "document.title"

  - action: get_html
    # sin parametros adicionales

  - action: sleep
    ms: 500                    # pausa en milisegundos

Acciones soportadas

Accion Parametros obligatorios Parametros opcionales
navigate url
wait selector timeout_ms (default 10000)
click selector continue_on_error
type selector, text continue_on_error
screenshot path full_page, continue_on_error
evaluate expr continue_on_error
get_html continue_on_error
sleep ms

Registro en operations.db

  • Entity script_run: una por ejecucion del script, con metadata del script y resultado final
  • Execution: una por ejecucion, con pipeline_id = "script_navegador", duration_ms, records_in=pasos totales, records_out=pasos exitosos
  • Logs: un log por cada paso ejecutado con nivel info/error

Notas

  • Si Chrome no esta corriendo y no se pasa --launch, la conexion falla con error claro
  • continue_on_error: true por paso permite continuar aunque ese paso falle
  • Flag global --abort-on-error (default false) aborta todo el script al primer error
  • Al terminar (exito o error), siempre se ejecuta cdp_close para limpiar recursos
  • operations.db se inicializa automaticamente si no existe usando fn ops init