Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

339
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!