<a id="Message4217" class="btn-sm btn-danger Message" data-id="4217"><span class="icon-adjustment icon-trash"></span> Delete</a>El objetivo es eliminar un mensaje según los criterios de selección.
Para cada mensaje, tiene texto y un número aleatorio (es decir) "Message4217"
¿Cómo podemos seleccionar y hacer clic en números aleatorios?
No puedo usar xpath porque cada mensaje diferente genera números aleatorios
//*[@id="Message4217"] //*[@id="Message4218"]¿Hay alguna forma de seleccionar este tipo de elementos?
Parece que este elemento se puede ubicar en función de 2 parámetros:
id parcialSi es así, coincidirá con este XPath:
//a[contains(@id,'Message') and text()='Delete'] Hay un elemento de span dentro de él, también podemos agregar esta dependencia para que el localizador sea:
//a[contains(@id,'Message') and text()='Delete' and ./span[@class='icon-adjustment icon-trash']]Es mejor usar este xpath :
//a[starts-with(@id,'Message')]o el siguiente css :
a[id^='Message'] PD: compruebe en las dev tools de desarrollo (Google Chrome) si tenemos una entrada única en HTML DOM o no.
Pasos para comprobar:
Press F12 in Chrome -> vaya a la sección de element -> haga CTRL + F -> luego pegue el xpath/css y vea si su element deseado se resalta con 1/1 nodo coincidente.
si hay, digamos, enésimas coincidencias, puede usar findElements con el XPath de CSS y luego puede iterar o usar el índice para hacer clic en el botón.