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

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

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 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!