Files
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.6 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_nav_forward_go_browser cdp_nav_forward function go browser impure 1.0.0 false Avanza una entrada en el historial de navegación de la pestaña activa via Page.getNavigationHistory + Page.navigateToHistoryEntry. Equivalente a pulsar el botón Adelante del navegador.
cdp
browser
navigation
navegator
func CdpNavForward(c *CDPConn) error
false error_go_core
functions/browser/cdp_nav_forward.go conn, _ := browser.CdpConnect(9222) defer browser.CdpClose(conn, 0) _ = browser.CdpNavigate(conn, "https://example.com/paso1") _ = browser.CdpNavigate(conn, "https://example.com/paso2") _ = browser.CdpNavBack(conn) // volver a /paso1 // Avanzar de nuevo a /paso2 if err := browser.CdpNavForward(conn); err != nil { log.Println(err) }
name desc
c Conexión CDP activa obtenida de CdpConnect, apuntando a la pestaña que se quiere avanzar
nil si navegó correctamente a la entrada siguiente; error si ya estamos al final del historial, la conexión es nula o el cast de tipos falla (respuesta CDP malformada)

Ejemplo

conn, err := browser.CdpConnect(9222)
if err != nil {
    log.Fatal(err)
}
defer browser.CdpClose(conn, 0)

_ = browser.CdpNavigate(conn, "https://metabase.local/dashboard/1")
_ = browser.CdpNavigate(conn, "https://metabase.local/question/42")
_ = browser.CdpNavBack(conn)  // vuelve a /dashboard/1

// Avanzar de nuevo a /question/42
if err := browser.CdpNavForward(conn); err != nil {
    log.Printf("no se pudo avanzar: %v", err)
}

Cuando usarla

Cuando un flujo de automatización ha retrocedido con CdpNavBack y necesita volver a avanzar sin conocer la URL destino. Útil para recorrer un historial de páginas hacia adelante y hacia atrás de forma programática, por ejemplo en herramientas de replay de sesiones.

Gotchas

  • Navega dentro del historial de ESA pestaña CDP (sesión WS), no del perfil en disco ni del historial global de Chrome.
  • Si currentIndex es el último elemento del historial (currentIndex == len(entries) - 1), retorna error "ya en el final del historial" — no es un fallo de red, es estado válido.
  • El historial se trunca cuando se navega a una URL nueva estando en una entrada intermedia: las entradas "adelante" desaparecen, igual que en un navegador real.
  • No espera a que la página de destino cargue; encadenar con CdpWaitLoad o CdpWaitIdle si necesitas esperar la carga completa.