Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

90
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda