2014-06-28 3 views
0

Je suis en train de parcourir une table et d'accéder aux valeurs via XPath, par exemple:Accès Texte intérieur Anchor Tag avec Sélénium

/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[3]/td[10]/span/a 
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[4]/td[10]/span/a 
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[5]/td[10]/span/a 
/html/body/div[2]/form/div/table/tbody/tr/td[2]/table[4]/tbody/tr[...]/td[10]/span/a 

les valeurs contenues dans le code HTML interne d'une balise d'ancrage:

<td> 
    <span id="TUFLMTU1MA%3D%3D"> 
     <a onclick="return false" target="_top" href="">VALUE I WANT</a> 
    </span> 
    </td> 

J'ai essayé l'instruction Xpath qui fonctionne normalement sauf si vous utilisez un lien hypertexte. Je ne peux pas le faire avec l'attribut id car ils sont tous dynamiques. Le texte que j'essaie de saisir est "VALEUR JE VEUX" ci-dessus. En outre, "VALUE I WANT" change dans toute la table, donc je ne peux pas aller juste parce que ce n'est pas la même valeur à chaque fois. J'utilise Selenium RC pas le pilote Web.

+0

Je me demande: pourquoi utilisez-vous [tag: sélénium rc], une technologie qui a été déconseillé depuis plusieurs années maintenant? – SiKing

Répondre

0

Mettez votre XPath dans « pour » boucle et itérer autant de fois que vous avez des éléments

for(int x = 1; x < your_neumber_of_elements; x++) { 
    WebElement e = driver.findElement(By.xpath("//table/tbody/tr/td[2]/table[4]/tbody/tr[" + x + "]/td[10]/span/a")); 
    Syste.out.println(e.getText()); 
} 
+0

l'ai eu. Merci. – user694071