2010-05-05 7 views
3

Je sais que Selenium a une méthode intégrée getTable ("tableName.row.column") peut retourner une cellule commodément. Cependant, comment puis-je retourner une colonne entière?Comment retourner une colonne entière avec Selenium?

J'ai essayé getText() directement, mais seulement la première cellule a été retournée,

getText("//tbody[@id='recordsTable']/tr[contains(@class, 'someclass')]") 

Mais getXpathCount() avec la même expression XPath a montré il sont plusieurs éléments correspondants.

getXpathCount("//tbody[@id='recordsTable']/tr[contains(@class, 'someclass')]") // result is 15 

S'il vous plaît veuillez nous aider, merci beaucoup!

Répondre

5

Vous devrez parcourir tous les éléments qui correspondent et les stocker quelque part.

si

int matches = selenium.getXpathCount("//tbody[@id='recordsTable']/tr[contains(@class, 'someclass')]") 
string[] column; 
for (int i = 1; i < matches;i++){ 
    column.add(selenium.getText("//tbody[@id='recordsTable']/tr[contains(@class, 'someclass')][" + i + "]"); 

} 

Cela passera par la table avec tous les matches que vous voulez, puis les stocker pour une utilisation ultérieure

+0

Merci beaucoup! En fait, ce que je ne savais pas, c'est que deux accolades carrées peuvent aller ensemble comme tr [contient (@ class, 'foo')] [i] dans l'expression de Xpath. C'est exactement ce que je cherche. Merci encore! –

Questions connexes