2 votes

Comment trouver plusieurs Webelements différents avec Selenium qui ont le même attribut ?

Disons que la partie de la page Web qui m'intéresse ressemble à ceci en HTML :

<ul role = "tablist">
   <li>
       <button role="tab"> 1 </button>
   </li>
   <li>
       <button role="tab"> 2 </button>
   </li>
   <li>
       <span role="tab"> 3 </span>
   </li>
   <li>
       <button role="tab"> 4 </button>
   </li>
</ul>

Comment construire un Xpath (ou toute autre suggestion que vous avez) afin que je puisse trouver les 4 différentes Webelements qui ont l'attribut @role='tab' ?

J'utilise Selenium avec Java.

2voto

cruisepandey Points 5297

Utiliser le formulaire ci-dessous xpath :

//*[@role='tab']

et utiliser peut utiliser findElements qui vous renverra une liste et vous pourrez alors itérer sur cette liste comme d'habitude pour obtenir le contexte interne.

Exemple de code :

    List<WebElement> list = driver.findElements(By.xpath("//*[@role='tab']"));
    for (WebElement e  : list) {
        System.out.println(e.getText());
    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X