dynamic table data retrieve - selenium webdriver

java, selenium, selenium-webdriver, testng

Solution

Try below code, this will print all cells data,

// Grab the table 
WebElement table = driver.findElement(By.id("divListView")); 

// Now get all the TR elements from the table 
List<WebElement> allRows = table.findElements(By.tagName("tr")); 

// And iterate over them, getting the cells 
for (WebElement row : allRows) { 
    List<WebElement> cells = row.findElements(By.tagName("td")); 

    // Print the contents of each cell
    for (WebElement cell : cells) { 
        System.out.println(cell.getText());
    }
}

Problem

``` <table id="tblListViewHeader" class="adminlist" cellspacing="1" cellpadding="0" style="table-layout: fixed; width: 1003px;"> <tbody> </table> </td> </tr> <tr> <td> <div id="divListView" style="width: 100%; height: 300px; overflow: auto; display: block;"> <table id="tblListView" class="adminlist" cellspacing="1" cellpadding="0" style="table-layout: fixed; width: 100%;"> <tbody data-bind="template: { name: 'ActiveGradeTemplate', foreach: ActiveGrade }"> <tr class="row0"> <td data-bind="text:$index()+1" style="width: 5%;">1</td> <td data-bind="text: GradeName" style="width: 20%;">Vantage Point</td> <td align="right" data-bind="text: DisplayCreatedDate" style="width: 10%;">27 Mar 2013</td> <td align="right" data-bind="text: CreatedByUser" style="width: 10%;">Name</td> <td align="right" data-bind="text: DisplayModifiedDate" style="width: 10%;">27 Mar 2013</td> <td align="right" data-bind="text: ModifiedByUser" style="width: 10%;">Name</td> <td align="center" data-bind="text: Status" style="width: 5%;">Active</td> <td align="center" style="width: 10%;"> <a id="lnkEdit_7" data-bind="click: $root.lnkEdit, attr:{'id':'lnkEdit_' + GradeID}" href="#">Edit</a> <span id="spanEdit_7" data-bind="attr:{'id':'spanEdit_' + GradeID}"></span> </td> </tr> <tr class="row0"> <td data-bind="text:$index()+1" style="width: 5%;">2</td> <td data-bind="text: GradeName" style="width: 20%;">test grade</td> <td align="right" data-bind="text: DisplayCreatedDate" style="width: 10%;">Yesterday</td> <td align="right" data-bind="text: CreatedByUser" style="width: 10%;">Name</td> <td align="right" data-bind="text: DisplayModifiedDate" style="width: 10%;">Yesterday</td> <td align="right" data-bind="text: ModifiedByUser" style="width: 10%;">Name</td> <td align="center" data-bind="text: Status" style="width: 5%;">Active</td> <td align="center" style="width: 10%;"> <a id="lnkEdit_11" data-bind="click: $root.lnkEdit, attr:{'id':'lnkEdit_' + GradeID}" href="#">Edit</a> <span id="spanEdit_11" data-bind="attr:{'id':'spanEdit_' + GradeID}"></span> </td> </tr> ``` How can I retrieve the `td` values for each and every row, this is for Dynamic generation. All the `tr` class names are the same: `<tr class="row0">`. How do I retreive the table data for the above formatted table?

Original source