Estoy tratando de hacer un simple webcraper con titiritero, pero tengo dos problemas con él. Primero, es que cuando estoy recorriendo enlaces, solo funciona para el primero. Y el segundo, cuando escribo algo dentro de una entrada, se escribe mal. Por ejemplo, algo que debería haber sido ‘51030-560’ se escribe ‘03051-560’.

Aquí está mi código:

//Claro.js const puppeteer = require('puppeteer'); const base_url = "https://lojaonline.claro.com.br/change-price-group"; let navegador = null; let pagina = null; const claro = { initialize: async () ={amp}gt; { navegador = await puppeteer.launch({ headless: false, defaultViewport: null, args: [ '--start-maximized' // you can also use '--start-fullscreen' ] }); pagina = await navegador.newPage(); await pagina.setRequestInterception(true); pagina.on('request', request ={amp}gt; { if(['image', 'font'].includes(request.resourceType())){ request.abort() }else{ request.continue(); } }) await pagina.setDefaultNavigationTimeout(0); await pagina.goto(base_url); }, irParaCep: async (cep) ={amp}gt; { let url = await pagina.url(); if(url != base_url){ await pagina.goto(base_url); } await pagina.waitFor('#edit-cep-part1'); await pagina.type('#edit-cep-part1', cep, {delay: 100}); await pagina.waitFor('#edit-submit') await pagina.click('#edit-submit'); }, }; module.exports = claro; 

Archivo js principal

 //linksclaro.js const fs = require('fs'); const claro = require('./claro'); const ceps = fs.readFileSync('ceps.txt', 'utf-8').split('n'); (async () ={amp}gt; { await claro.initialize(); for (let i = 0; i {amp}lt; ceps.length; i  ) { await claro.irParaCep(ceps[i]); } })() 

No hace mucho, pero cuando llega al segundo enlace, comienza a darme errores diciendo que no puede encontrar selectores y esas cosas. que me estoy perdiendo aqui?