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>
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:navigateurl:"https://ejemplo.com"- action:waitselector:"#elemento"timeout_ms:5000# opcional, default 10000- action:clickselector:"#boton"continue_on_error:true# opcional, default false- action:typeselector:"input[name=q]"# hace click primero para enfocartext:"texto a escribir"- action:screenshotpath:"/tmp/captura.png"full_page:false# opcional, default false- action:evaluateexpr:"document.title"- action:get_html# sin parametros adicionales- action:sleepms: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