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

220
Views
Puppeteer-page.evaluate() no funciona como se esperaba
const puppeteer = require('puppeteer') (async() => { let url = 'https://www.reg.uci.edu/perl/WebSoc' let browser = await puppeteer.launch({headless:false}); let page = await browser.newPage(); await page.goto(url, {waitUntil: 'domcontentloaded'}); await page.select('select[name=Dept]', 'BIO SCI'); await page.click('input[value="Display Web Results"]') await page.waitForNavigation({waitUntil: 'domcontentloaded'}) await page.addScriptTag({path: 'jquery.js'}) var biologyClasses = await page.evaluate( () => { var classes = $( "td:contains('Lec')") classes = classes.not('.Comments') classes = classes.not('.Pct100') classes = Array.from(classes); console.log(classes) // testing to see if classes show up var biology = []; classes.forEach(function(item) { var classCode = window[$(item).closest("tr").find(">:nth-child(1)").text()] classCode = {}; classCode.instructor = $(item).closest("tr").find(">:nth-child(5)").text() biology.push(classCode) }); return biology; }); console.log(biologyClasses) })();

Estoy tratando de obtener una lista de clases de biología y devolver una matriz de todas las clases, siendo cada clase un objeto que tiene el instructor de cada clase. Usando headless:false, veo que está navegando correctamente, pero por alguna razón, el código no parece funcionar dentro de page.evaluate() y no devuelve nada.

Cuando copio manualmente exactamente el mismo código page.evaluate() en un navegador Chrome normal que no es de Titiritero, el código parece funcionar y obtengo una matriz adecuada de 60 clases de biología, cada una de las cuales es un objeto con una propiedad de "instructor". . ¿Alguna idea de lo que está fallando al intentar emular estos resultados con Puppeteer?

Por extraño que parezca, la instrucción console.log(classes) dentro de page.evauluate() funciona aleatoriamente a veces (y veo clases registradas en el navegador Puppeteer) pero incluso entonces, no consigo que las clases de biología se registren en el nodo. consola js. ¿Algunas ideas?

about 4 years ago · Juan Pablo Isaza
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!