Files
fn_registry/functions/browser/cdp_activate_tab.md
T
egutierrez 5b10b419a2 feat(browser): auto-commit con 44 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-06 12:49:54 +02:00

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_activate_tab_go_browser cdp_activate_tab function go browser impure 1.0.0 false Pone una pestaña Chrome en foreground (foco) por su ID via GET /json/activate/<id>. Sin WebSocket — solo HTTP. Útil para traer al frente una pestaña específica antes de capturar pantalla o interactuar con ella.
cdp
browser
tabs
navegator
func CdpActivateTab(host string, port int, tabID string) error
false error_go_core
functions/browser/cdp_list_tabs.go tabs, _ := browser.CdpListTabs("localhost", 9222) // Activar la primera pestaña cuyo título contenga "Dashboard" for _, t := range tabs { if strings.Contains(t.Title, "Dashboard") { _ = browser.CdpActivateTab("localhost", 9222, t.ID) break } }
name desc
host Hostname de la instancia Chrome (vacío = localhost)
name desc
port Puerto CDP de remote debugging (habitualmente 9222)
name desc
tabID ID de la pestaña a activar, obtenido de CdpTab.ID via CdpListTabs
nil si la pestaña pasó a foreground correctamente; error si tabID está vacío, la conexión falla o Chrome devuelve status != 200

Ejemplo

// Listar tabs y traer al frente la que corresponda a una URL concreta
tabs, err := browser.CdpListTabs("localhost", 9222)
if err != nil {
    log.Fatal(err)
}
for _, t := range tabs {
    if t.URL == "https://metabase.local/dashboard/1" {
        if err := browser.CdpActivateTab("localhost", 9222, t.ID); err != nil {
            log.Printf("error activando tab %s: %v", t.ID, err)
        }
        break
    }
}

Cuando usarla

Antes de hacer un screenshot o interactuar via CDP con una pestaña concreta que podría estar en segundo plano. También útil en dashboards que muestran el inventario de pestañas y necesitan enfocar una al hacer clic.

Gotchas

  • No requiere conexión WebSocket previa; usa HTTP puro contra /json/activate/<id>.
  • Solo cambia el foco dentro del contexto CDP; si la ventana de Chrome está minimizada a nivel de OS, activate la pone como pestaña activa dentro de Chrome pero no restaura la ventana.
  • El ID debe obtenerse de CdpListTabs — no es el índice visible del tab, es el UUID interno de Chrome.
  • Si el tabID no existe, Chrome devuelve un status HTTP distinto de 200 y la función retorna error.