Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

199
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda