5b10b419a2
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_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. |
|
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 } } |
|
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,
activatela 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.