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

197
Vistas
¿Cómo puedo seleccionar un div en Javascript con solo una clase usando titiritero?

Estoy tratando de configurar un bot que haga clic en un botón en una página web para un proyecto. Ahora bien, esto funciona bien en otras páginas web, sin embargo, en la página en la que quiero usarlo, los desarrolladores aparentemente pensaron que sería una idea brillante tener casi ninguna identificación. Así que estoy atascado tratando de averiguar cómo seleccionar un div por su clase (el único selector disponible que tiene). Sí, he intentado usar Xpath: ambas veces devuelven un valor nulo o un error. Aquí está el código de trabajo si está en otra página web:

 const puppeteer = require('puppeteer'); async function scrapeProduct(url) { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(url); await page.click('#someid'); await page.screenshot({ path: "success.png", fullPage: true }); await browser.close(); } scrapeProduct('someurl');

Este soy yo probando Xpath que funciona, pero nuevamente esto no funciona para lo que quiero hacer (no estoy seguro de si esta es la forma correcta de todos modos, parece algo indirecto y no sé cómo harías clic con esto):

 async function scrapeProduct(url) { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(url); const [el] = await page.$x('//*[@id="btt-btn"]'); const classID = await el.getProperty('textContent'); const classIDText = await classID.jsonValue(); console.log(classIDText); await page.screenshot({ path: "success.png", fullPage: true }); await browser.close(); } scrapeProduct('someurl');

El error que recibo habla de que no se encontró ningún nodo con ese selector, que en este caso es '.DropdownSelectInput__SelectBoxText-sc-1ssquc7-0 bnoarO'

¿Alguien tiene alguna idea? He probado varios selectores y métodos diferentes y no puedo averiguar cómo podría hacer esto.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Tuve el problema similar antes. La mejor manera de seleccionar su div es la siguiente:

En el mismo árbol HTML, seleccione un elemento con un determinado atributo. Puede ser un nombre de atributo como data-at o id o cualquier cosa que no cambie en cada carga. Una vez que logre seleccionar ese elemento, puede subir y bajar en el árbol con element.parentNode o node.lastChild o node.firstChild, etc. Esta sería la única forma de hacerlo. Posiblemente el sitio web que está tratando de manipular usa algo que genera clases. Entonces, ningún ser humano le dio esos nombres de clase.

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