Comment trouver unique les sélecteurs d'éléments sur les pages avec ExtJS pour une utilisation avec du Sélénium?

Je suis en utilisant le Sélénium avec Firefox Webdriver de travailler avec des éléments sur une page unique
CSS Id (à chaque chargement de page), mais le Id changer à chaque fois donc je suis incapable de les utiliser pour localiser un élément. C'est parce que la page est une application web construit avec ExtJS.

Je suis en train d'utiliser Firebug pour obtenir l'élément de l'information.

J'ai besoin de trouver un unique xPath ou le sélecteur si je peux les sélectionner chaque élément individuellement avec le Sélénium.

Lorsque j'utilise Firebug pour copier le xPath-je obtenir une valeur comme ceci:

//*[@id="ext-gen1302"]

Cependant, la prochaine fois que la page est chargée, elle ressemble à ceci:

//*[@id="ext-gen1595"]

Sur cette page chaque élément a ce format d'ID, de sorte que le CSS ID ne peut pas être utilisé pour trouver l'élément.

Je veux obtenir le xPath qui est en fonction de sa position dans le DOM, mais Firebug ne renvoie l'ID de xPath, car il est unique pour l'exemple de la page.

/html/body/div[4]/div[3]/div[4]/div/div/div/span[2]/span

Comment puis-je obtenir Firebug (ou un autre outil qui fonctionne à une vitesse semblable) pour me donner un unique sélecteur qui peut être utilisé pour trouver l'élément Sélénium, même après l'ext-gen changements d'identité?

Je me demande comment selectorgadget.com serait travailler pour vous
Juste essayé, l'outil finit par obtenir la même valeur que Firebug copie de xPath.
Je ne recommanderais pas à l'aide de la longue xpath en termes de position dans les DOM; ils s'avèrent peu fiables, si quoi que ce soit d'autre dans le code html de modification de la structure. Il y a probablement un meilleur moyen d'identifier l'élément; pouvez-vous poster une partie de votre code html, afin de pouvoir offrir des suggestions?

OriginalL'auteur AdnanEK | 2013-08-02