Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

346
Vistas
Node.js Lighthouse custom Gatherer/Audit - Error de protocolo (Runtime.evaluate): la cadena de referencia del objeto es demasiado larga

Estoy tratando de implementar auditorías personalizadas usando el faro de la biblioteca del faro y ejecutando algunos comandos de Javascript dentro del Recolector. Obtengo el siguiente error:

 Protocol error (Runtime.evaluate): Object reference chain is too long

En detalle tengo el siguiente Recolector:

 'use strict'; const { Gatherer } = require('lighthouse'); class customGatherer extends Gatherer { afterPass(options, loadData) { const expression = `window.document.getElementsByTagName('*')`; const driver = options.driver; return driver.evaluateAsync(expression); } } module.exports = customGatherer;

Que con la expression definida anteriormente se dispara el problema. Parece que hay demasiada información y no puedo manejarla. Estoy probando el comando en una página web y devuelve 1059 colecciones ( HTMLCollection(1059) ).

Cuando ejecuto el comando lighthouse para inspeccionar una página, se crea la advertencia y el resultado no se puede manipular dentro de la auditoría:

 LH:Runner:warn customGatherer, required by audit my-custom-audit, encountered an error: Protocol error (Runtime.evaluate): Object reference chain is too long +0ms

NB: en el registro del faro también puedo ver este error:

 LH:method <= browser ERR:error Runtime.evaluate +24ms

Necesito tener un recopilador que devuelva todos los elementos HTMLCollection para calcularlos y obtener todas las fuentes en la página. ¿Cómo puedo evitar este problema?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Ya existe un artefacto que recopila toda la información de fuentes en una página: https://github.com/GoogleChrome/lighthouse/blob/master/types/artifacts.d.ts#L139

En cuanto al error real, necesitaría escribir una función más compleja que pasaría para evaluar para procesar el DOM y devolver solo los datos que desea. Si escribe algo más que una expresión de una sola línea, sugiero usar driver.evaluate en su lugar (consulte el repositorio de Lighthouse para ver ejemplos).

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda