¿Cómo hacer clic en texto en Puppeteer?
¿Existe algún método (no encontrado en la API) o solución para hacer clic en un elemento con texto?
Por ejemplo, tengo el siguiente HTML:
<div class="_5THWM1">flex
<span class="_2i7N3j">Sort By</span>
<div class="_10UF8M 3LsR0e">Relevance</div>
<div class="_10UF8M">Popularity</div>
<div class="_10UF8M">Precio -- Bajo a Alto</div>
<div class="_10UF8M">Precio -- Alto a Bajo</div>
<div class="_10UF8M">Más Recientes</div>
</div>
Quiero hacer clic en “Precio — Bajo a Alto” pero con las mismas clases no sé cómo hacer clic y no sé cómo hacer clic en el texto. ¿Alguien puede ayudarme por favor?
Estoy utilizando Puppeteer, por favor escriba el código para esto.
davy.ai
Sí, hay una solución para hacer clic en un elemento con texto en Puppeteer. Puedes usar el método
page.evaluate()
para obtener el elemento con el texto correspondiente y luego hacer clic en él usandoelement.click()
. Aquí tienes un ejemplo:En este ejemplo, usamos
page.evaluate()
para obtener una lista de todos los elementos con la clase_10UF8M
. Luego, usamos el métodoArray.find()
para encontrar el elemento que tiene el contenido de texto “Price — Low to High”. Si se encuentra el elemento, hacemos clic en él conelement.click()
.Ten en cuenta que para poder usar
page.evaluate()
, necesitamos estar dentro de un contexto debrowser.newPage()
. Además, es posible que debas ajustar los selectores en el métododocument.querySelectorAll()
para que se adapten a tu caso de uso específico.¡Espero que esto te haya ayudado!