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

167
Vistas
¿Cómo haré para que el titiritero piense que este tipo de clases son válidas?

Estoy tratando de desechar este sitio web para el seguidor https://mojapp.in/@piyanka_mongia

Pero las clases aquí se ven realmente extrañas como esta "Pstart(20px).Pstart(40px)"

Mi programa webscrapper (que por cierto funciona sin ningún problema en otros sitios) está arrojando este error.

Error: la evaluación falló: DOMException: no se pudo ejecutar 'querySelector' en 'Documento': 'Pstart(20px).Pstart(40px)--md' no es un selector válido.

la configuración básica del titiritero es de este sitio web https://www.digitalocean.com/community/tutorials/how-to-scrape-a-website-using-node-js-and-puppeteer

¿¿Cómo puedo resolver este problema??

código de pageScraper

 const scraperObject = { url: 'https://mojapp.in/@piyanka_mongia', async scraper(browser) { let page = await browser.newPage(); console.log(`Navigating to ${this.url}...`); // Navigate to the selected page await page.goto(this.url); // Wait for the required DOM to be rendered await page.waitForSelector('.Pstart(20px)'); let nimbers = await page.$eval('#svelte > div.Bgc\(black\).C\(white\) > main > div.D\(f\).Mb\(40px\).Px\(\$xs\) > div.Pstart\(20px\).Pstart\(40px\)--md > div.D\(f\).Fxw\(w\).My\(\$lg\) > div:nth-child(1) > h4', text => text.textContent) console.log(nimbers); } } module.exports = scraperObject;
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

CSS requiere que los caracteres como ( y ) se escapen con el carácter \ , por lo que para las clases con esos nombres terminas con selectores como .Pstart\(20px\) .

El problema aquí es que las cadenas de JavaScript también tratan \ como el carácter de escape. La cadena JS '.Pstart\(20px\)' representa la cadena .Pstart(20px) , que nuevamente no es un selector de CSS válido ya que los paréntesis no se escapan.

La solución es escapar dos veces de las clases: la cadena JS '.Pstart\\(20px\\).Pstart\\(40px\\)--md' representa con precisión .Pstart\(20px\).Pstart\(40px\)--md .

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