5b10b419a2
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.9 KiB
2.9 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| cdp_get_text | function | go | browser | 1.0.0 | impure | func CdpGetText(c *CDPConn, selector string, maxBytes int) (string, error) | Retorna el texto visible (innerText) de la pagina o de un elemento CSS, con truncado opcional. Alternativa compacta a cdp_get_html cuando solo se necesita el texto legible. |
|
|
false | error_go_core |
|
|
Texto visible del elemento o de toda la pagina. Si maxBytes > 0 y el texto supera el limite, retorna el texto truncado con sufijo '…[truncado, total N bytes]'. Error si el selector no matchea ningun elemento o si la conexion falla. | false | functions/browser/cdp_get_text.go |
Ejemplo
// Leer todo el body con limite de 20000 bytes (apto para LLM)
text, err := CdpGetText(conn, "", 20000)
if err != nil {
log.Fatal(err)
}
fmt.Println(text)
// Leer un elemento concreto sin limite
price, err := CdpGetText(conn, ".product-price", 0)
if err != nil {
// err contiene "elemento no encontrado: .product-price" si no existe en el DOM
log.Fatal(err)
}
fmt.Println(price)
Cuando usarla
Para que un LLM lea el contenido de una pagina sin reventar su ventana de contexto. Preferir sobre cdp_get_html cuando solo necesitas el texto — innerText es 5-50x mas compacto que el HTML crudo. Usar selector para acotar a la seccion relevante (articulo, tabla, formulario) y maxBytes para garantizar el presupuesto de tokens.
Gotchas
innerTextsolo devuelve el texto de nodos visibles: elementos condisplay:noneovisibility:hiddenquedan excluidos. Si necesitas leer contenido oculto usacdp_get_htmly parsea.- El truncado corta en boundary de rune pero puede partir a media frase o a medio parrafo. Si necesitas preservar estructura semantica, ajusta
maxBytescon margen o usa el selector para acotar la region. - Requiere conexion activa a una tab de tipo
page(nobackground_page, noservice_worker). Tabs en estado de carga pueden devolver texto parcial; esperar concdp_wait_loadsi el contenido es dinamico. - El selector se escapa via
json.Marshal— caracteres especiales como comillas simples, backslash o comillas dobles en el selector CSS son seguros.