2017-09-06 3 views
0

J'essaie d'automatiser l'éclairage Salesforce à l'aide de Selenium, mais je rencontre des problèmes avec les éléments d'identification. Reason, ses ID dynamiques et d'autres attributs sont soit très longs, soit ils ne sont pas uniques.Comment identifier les éléments dans Salesforce Lightning pour Selenium

Pour exemple,

<a id="170:1968;a" class="textUnderline outputLookupLink slds-truncate forceOutputLookup" 
data-refid="recordId" 
data-recordid="0059E000001aOCSQA2" 
data-special-link="true" 
href="#/sObject/0059E000001aOCSQA2/view" 
target="_blank" rel="noreferrer" 
title="" data-aura-rendered-by="170:1968;a" data-aura-class="forceOutputLookup"/> 

Dans le code ci-dessus, ID est dynamique, la classe n'est pas unique, et tous les éléments de recherche sont associés. De plus, le chemin absolu n'est pas très fiable et j'essaie donc de trouver une option concrète pour gérer ces éléments. Toute aide sera grandement appréciée.

Répondre

0

Ici, vous pouvez essayer d'utiliser la méthode contains si au moins une partie de la valeur de l'attribut id est statique. À partir de votre code, vous pouvez essayer

//a[contains(@id,"a")]/ //--extended xpath-- 

à partir du code html donné, le « a » dans l'attribut id du une balise semble statique, alors que les changements de repos.

+0

tous les éléments ont des identifiants avec "; a", donc il n'est pas possible d'utiliser contient pour ID – AbhishekTiwari