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

140
Vistas
No se pueden usar módulos de nodo en la función de devolución de llamada de pesadilla

Estoy tratando de usar un módulo de nodo en la función de devolución de llamada de evaluación de pesadilla, pero cada vez que ejecuto mi código aparece un error que dice que html2json is not defined . Intenté usar import y require para importar mi módulo, pero no funcionó. También intenté usar el cierre para pasar el módulo y devolver la función de devolución de llamada donde usé ese módulo específico, pero tampoco funcionó. Si uso este módulo fuera de la función de devolución de llamada, funciona perfectamente bien. Cualquier ayuda en esto es muy apreciada.

 import Nightmare from "nightmare"; import html2json from "html2json"; const nightmare = Nightmare({ show: false }); async function startScrap() { let result = await nightmare .goto("https://duckduckgo.com") .evaluate(() => { const html = html2json.html2json( document.querySelector("#r1-0 a.result__a").innerHTML, ); console.log(html); return document.querySelector("#r1-0 a.result__a").href; }) .end() .then(function (result) { console.log(result); }); } startScrap();

El error que me sale cada vez:

 node:internal/process/promises:265 triggerUncaughtException(err, true /* fromPromise */); rogramming\Personal Projects\scrappers\animelist-scrapper\test.js" ^ ReferenceError: html2json is not defined at fn (<anonymous>:6:26) at javascript (<anonymous>:25:21) at <anonymous>:40:3 at EventEmitter.electron.ipcRenderer.on (d:\Programming\Personal Projects\scrappers\animelist-scrapper\node_modules\electron\dist\resources\electron.asar\renderer\web-frame-init.js:36:30) s\scrappers\animelist-scrapper\node_modules\electron\dist\resources\electron.asar\renderer\web-frame-init.js:36:30) at emitMany (events.js:147:13) at EventEmitter.emit (events.js:224:7) { code: -1 }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La función que pasa en evaluar () se ejecuta en el navegador. Como ejecutar la función abriendo una página web en su navegador web. Por lo tanto, no tiene acceso a los módulos de nodo.

La forma de hacerlo es seleccionar y extraer los atributos de los elementos que le interesan y luego procesarlos en then().
then() tendrá acceso a los módulos de nodo.

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