2 votes

Besoin de récupérer le texte de l'info-bulle de l'élément span actif situé à l'intérieur d'un autre span dans Selenium.

Dans cette application, il y a une option pour activer ou désactiver un canal.

Lorsque ce canal est activé, le span contenant l'info-bulle permettant de le désactiver est activé comme indiqué ci-dessous. chanel activated

De même, lorsque ce canal est désactivé, le span contenant l'info-bulle à activer est activé comme indiqué ci-dessous.

channel de-activated

Si je peux trouver le xpath du span actif, je pourrai vérifier cet élément. Mais j'ai du mal à trouver le xpath de l'élément actif span.

</span>
                                      <span id="stat965"> 
                                            <span class="btn btn-small deactivateBtn btn-warning" href="javascript:void(0);" data-toggle="tooltip" onclick="status('ZVJxWHlYYUhMaWxZM2xqT1A2YTdydz09' ,'false','TWITTER',965);" title="" data-original-title="Deactivate">
                                                <i class="fa fa-times"></i>
                                            </span>
                                            <span class="btn btn-small activateBtn btn-primary" data-toggle="tooltip" style="display: none;" href="javascript:void(0);" onclick="status('ZVJxWHlYYUhMaWxZM2xqT1A2YTdydz09' ,'true','TWITTER',965);" title="" border="0" data-original-title="Activate"> <i class="fa fa-check"></i>
                                            </span>

                                    </span>

code for validation

1voto

Naveen Kumar R B Points 4733

Utilisez isDisplayed sur les éléments web suivants, qui indique si cet élément est visible ou non sur la page web.

essayer de Deactivate span avec le XPATH suivant :

//span[@style="display: inline-block;"  and @data-original-title="Deactivate"]

renvoie le WebElement only if Deactivate span tag is active sinon null, de sorte que vous pouvez vérifier la balise Activate span.

pour Activate span avec le XPATH suivant :

//span[@style="display: inline-block;"  and @data-original-title="Activate"]

0voto

Mouli Points 299

Veuillez essayer le CSS ci-dessous pour identifier Activate :

span.activateBtn

Veuillez essayer le CSS ci-dessous pour identifier De-Activate :

span.deactivateBtn

0voto

Rajkumar Points 48

Selon vous, seul un élément (span) doit être actif. N'est-ce pas ? Si oui, vous pouvez utiliser la méthode enabled. La méthode enabled renvoie true si l'élément est activé. Selon vos besoins, vous pouvez traiter la valeur de retour. Exemple :

  if(driver.findelement(By.xpath("//span[@data-original-title="Deactivate"]).enabled)
{
// do your actions
}

Vérifiez l'activation de l'élément et continuez vos démarches selon vos besoins.

0voto

noor Points 2052

Si vous voulez trouver le span désactivé, utilisez le cssSelector ci-dessous :

span[class*="deactivateBtn"]

pour choisir le span de désactivation, utilisez le cssSelector ci-dessous :

span[class*="activateBtn"]

J'espère que cela vous aidera et faites-moi savoir quel est le résultat.

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