2010-06-30 13 views
2

J'ai des problèmes avec mes xpaths dans le plugin Firefox. J'ai trois boîtes de texte, le premier a ID = login et le reste a des ID générés dynamiquement. Le premier fonctionne bien pour écrire dans le plugin, // input [@ id = 'login'] mais dès que j'essaie quelque chose de plus avancé, il ne trouve rien. Après avoir lu beaucoup de messages du forum, j'ai essayé le plugin XPather pour générer les codes xpath mais les longues chaînes html/css ne fonctionnent pas non plus. Dans certains threads, les gens écrivent "xpath = // ..." et j'ai essayé cela aussi, sans résultat.Selenium IDE - Comment enregistrer xpath dans le plugin Firefox

Reconnaissant pour toute aide possible!

// M

Répondre

0

D'accord, je trouve quelques nouvelles informations et il fonctionne avec l'écriture « XPath =/» et les codes générés automatiquement à partir XPather. Bien que les xpaths soient très longs et reposent beaucoup sur les balises HTML restant les mêmes.

Quelqu'un at-il une meilleure idée des expressions XPath (ou expressions css) à écrire pour saisir des informations dans les trois éléments de zone de texte suivants:

textBox 1

  • Firebug: input type="text" tabindex="110" name="6011300f91d9f186d1b7ab1a034827da" id="input1"
  • Working xpath in Selenium, retrieved from XPather: xpath=/html/body[@id='fire']/form[@id='loginForm']/div/div/div[@id='container']/div[@id='content']/div[@id='contentPadding']/div[1]/fieldset[1]/input[@id='input1']

ENCADRÉ 2

  • input type="password" tabindex="110" name="0de4766295b7a965fc4969da3df6824ba"
  • xpath=/html/body[@id='fire']/form[@id='loginForm']/div/div/div[@id='container']/div[@id='content']/div[@id='contentPadding']/div[1]/fieldset[2]/input

ENCADRÉ 3

  • input type="password" tabindex="110" class="last" name="6c4e0fcde65e258c3dc7c508a1cc666a"
  • xpath=/html/body[@id='fire']/form[@id='loginForm']/div/div/div[@id='container']/div[@id='content']/div[@id='contentPadding']/div[1]/fieldset[3]/input

// M

+0

Vous devriez publier l'exemple HTML comme référence. Je soupçonne qu'il est possible d'utiliser la stratégie de localisation CSS ou DOM, mais j'ai besoin de voir le code. – pnewhook

3

Les deux outils que j'utilise sont Firebug et XPath Checker, les deux Firefox add-ons.

Dans Firebug, sélectionnez l'onglet HTML, faites un clic droit sur l'élément et sélectionnez « Copier XPath »

Pour XPath Checker, faites un clic droit sur l'élément dans la page et sélectionnez « Afficher XPath ».

Vous pouvez vérifier cela en collant le résultat dans le champ cible de Selenium IDE puis en cliquant sur le bouton "Rechercher". Cela indique ce que sera le résultat du sélénium (beaucoup plus rapide que d'avoir à faire le test encore et encore!)

J'ai trouvé que vous devez "masser" le résultat quelque peu.

Si vous allez à la page d'accueil Google et recherchez les "Images" lien en haut à gauche, le vérificateur XPath donne l'image XPath comme:

// id ('gbar')/x: nobr/x: un 1

Cela jette une erreur:

[error] localisateur introuvable: // id ('gbar')/x: nobr/x: un 1, error = erreur: XPath non valide 2 : // id ('gbar')/x: nobr/x: a 1

I f vous supprimez l'identifiant par exemple

// x: nobr/x: un 1

vous remarquerez que l'image a une boîte verte autour d'elle montrant Thet l'IDE a correctement analysé il.

+0

nouveau lien pour xpath checker - https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/ – Jody

+0

J'ai ouvert la page d'accueil google, puis j'ai cliqué sur les images en haut à gauche et j'ai copié le xpath de xpathchecker (id ('gb_2')/x: span [2]) dans l'IDE sélénium. Mais cela n'a pas trouvé le lien Images. Après cela, je viens de modifier en tant que x: span [2], mais il a trouvé le lien + vous. Comment puis-je le faire ? –