5b10b419a2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 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_back_go_browser | cdp_nav_back | function | go | browser | impure | 1.0.0 | false | Retrocede una entrada en el historial de navegación de la pestaña activa via Page.getNavigationHistory + Page.navigateToHistoryEntry. Equivalente a pulsar el botón Atrás del navegador. |
|
func CdpNavBack(c *CDPConn) error | false | error_go_core | functions/browser/cdp_nav_back.go | conn, _ := browser.CdpConnect(9222) defer browser.CdpClose(conn, 0) _ = browser.CdpNavigate(conn, "https://example.com/paso1") _ = browser.CdpNavigate(conn, "https://example.com/paso2") // Volver a /paso1 if err := browser.CdpNavBack(conn); err != nil { log.Println(err) } |
|
nil si navegó correctamente a la entrada anterior; error si ya estamos al inicio 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")
// Volver al dashboard
if err := browser.CdpNavBack(conn); err != nil {
log.Printf("no se pudo retroceder: %v", err)
}
Cuando usarla
Cuando un flujo de automatización navega por varias páginas y necesita volver atrás sin conocer la URL anterior. Útil en scraping de paginaciones o en flujos de formularios multipaso donde la URL destino no es predecible.
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 == 0(primer elemento del historial), retorna error "ya en el inicio del historial" — no es un fallo de red, es estado válido. - Requiere que
Pageesté habilitado en la sesión; Chrome lo activa automáticamente con la mayoría de conexiones CDP, pero si usas una sesión muy restrictiva puede fallar. - No espera a que la página de destino cargue; encadenar con
CdpWaitLoadoCdpWaitIdlesi necesitas esperar la carga completa.