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

224
Views
console.log registra valores vacíos a menos que se especifique un valor específico

Estoy usando Node.js y Puppeteer y lo tengo configurado para cargar una página específica. Esta página muestra nuevos elementos cada segundo y estoy agregando un MutationObserver para escuchar y activar una función cuando se agregan nuevos elementos.

Si, por ejemplo, pruebo getItem(mutation) , registrará {} , un objeto vacío
Pero si intento getItem(mutation.addedNodes[0].textContent) registrará 'NewElement' , que es el contenido de texto del nuevo elemento.

También probar cualquier cosa entre la mutation hasta la mutation.addedNodes[0].textContent da como resultado objetos/matrices vacíos.

¿Por qué el primer ejemplo no registra nada, el objeto tiene valores ya que puedo alcanzarlos siendo más específico? ¿Por qué no registra los valores que tiene y la estructura del objeto?

 const runPuppeteer = async (url: string) => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.setViewport({ width: 1920, height: 1080 }) await page.goto(url); await page.exposeFunction('getItem', (a: any) => { console.log(a) }) await page.evaluate(() => { let observer = new MutationObserver((mutations) => { for (const mutation of mutations) { getItem(mutation.addedNodes[0].textContent) // <--- My question } }) observer.observe(document.querySelector('#chatDiv'), { attributes: false, childList: true, subtree: true }) }) } let myPage = 'http://localhost:3000/home' runPuppeteer(myPage)
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No todas las propiedades de todos los objetos se imprimirán con console.log, particularmente con los elementos integrados. Si desea conocer todas las propiedades de un objeto, puede probar Object.keys(o) o Reflect.ownKeys

También hay bibliotecas de serialización y bibliotecas de "objetivación" que intentarán convertir una instancia de clase compleja en un objeto explícito similar a json.

A veces, las clases tendrán captadores, un número se envolverá como un objeto, los objetos serán enviados por proxy, etc., por lo que, en general, la salida de console.log puede ser extremadamente incompleta.

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!