es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Raspatar básico no sale de la función async.

Cuando ejecuto esta función, obtengo el resultado esperado a través de console.log, pero la función no se cierra. ¿Por qué es así?

const puppeteer = require('puppeteer');

async function scrape(url) {
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
    const target = await page.goto(url);
    const waiting = await page.waitForXPath('XPATH...');
    const [el] = await page.$x('XPATH...');
    const txt = await el.getProperty('textContent');

    const rawTxt  = txt.jsonValue();
    console.log(rawTxt);

}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La función no se finaliza porque no tiene una instrucción browser.close(). La instancia browser lanzada por puppeteer continuará ejecutándose en segundo plano hasta que se cierre. Agregar await browser.close() al final de la función asegurará que se cierre el navegador y se salga de la función.

Comments are closed.