Comment obtenir du texte à partir de chaque cellule D'une table HTML?

dans Selenium 2.0, Je n'ai aucune idée de comment traverser une table HTML dans une page web. Dans selenium2.0 javadoc, j'ai trouvé deux classes "TableFinder" et "TableCellFinder", mais je n'ai pas trouvé d'exemples.

je veux faire quelque chose comme ceci:

RowCount=Get how many rows are there in the html table

for each row of the table
{
   column_count=Get column count
   for each column
   {
      cell_value=get_text_from(row,col);
      Do something with cell_value
   }
}

Comment puis-je obtenir le texte de chacune des cellules du tableau?

24
demandé sur Prasad 2011-06-01 13:24:04

6 réponses

Merci pour cette réponse.

j'ai trouvé les solutions en utilisant les classes de sélénium 2.0.

import java.util.List;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class WebTableExample 
{
    public static void main(String[] args) 
    {
        WebDriver driver = new InternetExplorerDriver();
        driver.get("http://localhost/test/test.html");      

        WebElement table_element = driver.findElement(By.id("testTable"));
        List<WebElement> tr_collection=table_element.findElements(By.xpath("id('testTable')/tbody/tr"));

        System.out.println("NUMBER OF ROWS IN THIS TABLE = "+tr_collection.size());
        int row_num,col_num;
        row_num=1;
        for(WebElement trElement : tr_collection)
        {
            List<WebElement> td_collection=trElement.findElements(By.xpath("td"));
            System.out.println("NUMBER OF COLUMNS="+td_collection.size());
            col_num=1;
            for(WebElement tdElement : td_collection)
            {
                System.out.println("row # "+row_num+", col # "+col_num+ "text="+tdElement.getText());
                col_num++;
            }
            row_num++;
        } 
    }
}
44
répondu Vikas 2015-03-10 08:33:21

voici un exemple de C# que je viens de concocter, vaguement basé sur la réponse en utilisant des sélecteurs CSS, espérons qu'il sera utilisé par d'autres pour voir comment configurer un