Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

141
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda