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

96
Views
Tiene problemas para raspar un elemento en particular en un sitio web usando Titiritero

Estoy tratando de raspar la parte de características clave del sitio web con la URL de: "https://www.alpinestars.com/products/stella-missile-v2-1-piece-suit-1" usando titiritero - sin embargo, siempre que Trato de usar un selector que funciona en la consola de Chrome para el sitio web, la salida de mi código siempre es una matriz u objeto vacío. Por ejemplo, tanto document.querySelectorAll("#clave\características > p") como document.getElementById('características clave') regresan como matrices u objetos vacíos cuando lo envío a través de mi código pero trabajo a través de la consola de Chrome.

He adjuntado mi código a continuación:

 const puppeteer = require('puppeteer'); async function getDescripData(url) { const browser = await puppeteer.launch({headless: true}); const page = await browser.newPage(); await page.goto(url); const descripFeatures = await page.evaluate(() => { const tds = Array.from(document.getElementById('key features')) console.log(tds) return tds.map(td => td.innerText) }); console.log(descripFeatures) await browser.close(); return { features: descripFeatures } }

¿Cómo debo proceder para superar este problema?

¡Gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Su problema está en Array.from . from está pasando un objeto no iterable y devuelve null .

Esto funciona para mí:

 const puppeteer = require('puppeteer'); const url = 'https://www.alpinestars.com/products/stella-missile-v2-1-piece-suit-1'; (async () => { const browser = await puppeteer.launch({ headless: false, defaultViewport: null, args: ['--start-maximized'], devtools: true }); const page = (await browser.pages())[0]; await page.goto(url); const descripFeatures = await page.evaluate(() => { const tds = document.getElementById('key features').innerText; return tds.split('• '); }); console.log(descripFeatures) await browser.close(); })();
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!