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

541
Vistas
NODE JS Error: la evaluación falló: TypeError: no se pueden leer las propiedades de nulo (leyendo 'innerText')

Estoy tratando de aprender titiritero y quería raspar la página web de StockX en https://stockx.com/fr-fr/dior-b713-cactus-jack-mocha .

Quería raspar el título del zapato al principio como "Dior B713 CACTUS JACK".

Intenté usar: await document.querySelector para raspar el título, pero la página se congela y muestra este error Error: la evaluación falló: TypeError: no se pueden leer las propiedades de nulo (leyendo 'texto interno'). Sabiendo que en la consola se devuelve bien la información.

Traté de usar el selector CSS exacto de las herramientas de desarrollo de Google, pero sin éxito. He probado varias combinaciones de selectores de CSS, pero aún no puedo extraer el título que quiero.

 const scraperObject = { url: 'https://stockx.com/fr-fr/dior-b713-cactus-jack-mocha', async scraper(browser){ let page = await browser.newPage(); console.log(`Navigating to ${this.url}...`); await page.goto(this.url); // Wait for the required DOM to be rendered const result = await page.evaluate(() => { let demandes = document.querySelector('#main-content > div > section:nth-child(3) > div.css-j7qwjs > div > h1').innerText; return demandes; }) console.log(demandes); await browser } } module.exports = scraperObject;
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

No hay una necesidad clara de trabajar con el DOM aquí en absoluto, o Titiritero para el caso, solo para recuperar el nombre del producto, que está disponible en algunos lugares diferentes en el HTML estático. Busque view-source:https://stockx.com/fr-fr/dior-b713-cactus-jack-mocha por "Dior B713 CACTUS JACK" para ver todas las apariciones. El más fácil de obtener parece ser el título de la página o la metaetiqueta twitter:title.

Con Cheerio y Node 18 (para fetch nativa; instale node-fetch si está en un Nodo más antiguo):

 const cheerio = require("cheerio"); // 1.0.0-rc.12 fetch("https://stockx.com/fr-fr/dior-b713-cactus-jack-mocha") .then(res => res.text()) .then(html => { const $ = cheerio.load(html); console.log($('meta[property="twitter:title"]').attr("content")); // or: console.log($("title").text()); }) ;

Titiritero:

 const puppeteer = require("puppeteer"); // ^15.4.0 let browser; (async () => { browser = await puppeteer.launch(); const [page] = await browser.pages(); const ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"; await page.setUserAgent(ua); const url = "https://stockx.com/fr-fr/dior-b713-cactus-jack-mocha"; await page.goto(url, {waitUntil: "domcontentloaded"}); const title = await page.$eval( 'meta[property="twitter:title"]', el => el.getAttribute("content") ); console.log(title); // or: console.log(await page.title()); })() .catch(err => console.error(err)) .finally(() => browser?.close()) ;

Producción:

 Dior B713 CACTUS JACK Mocha Dior B713 CACTUS JACK Mocha - 3SN281ZNV_H967StockX LogoStockX Logo
about 4 years ago · Santiago Gelvez 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