How to find total rows in a paginated web table ?

  1. import java.util.Iterator;

  2. import java.util.List;

  3. import org.junit.After;

  4. import org.junit.Before;

  5. import org.junit.Test;

  6. import org.openqa.selenium.By;

  7. import org.openqa.selenium.WebDriver;

  8. import org.openqa.selenium.WebElement;

  9. import org.openqa.selenium.firefox.FirefoxDriver;

  10.  

  11. public class ReadingTableExample {

  12.         private WebDriver driver;

  13.         private String baseUrl="http://www.espncricinfo.com/";

  14.  

  15.         @Before

  16.         public void setUp() throws Exception {

  17.                 driver = new FirefoxDriver();

  18.                 driver.get(baseUrl);

  19.         }

  20.  

  21.         //Test to display how to read html table using webdriver on cricinfo.com.  

  22.         @Test

  23.         public void printFacebookFriendList() throws Exception {

  24.  

  25.                 //Get all the links for Scorecard.

  26.                 WebElement box = driver.findElement(By.cssSelector("div.ciHomeTopHeadlines"));

  27.                 List <WebElement> scorecard = box.findElements(By.linkText("Scorecard"));

  28.  

  29.                 //Click on the first scorecard link from News Section

  30.                 (scorecard.get(0)).click();

  31.  

  32.                 //Get all the data of the table

  33.                 WebElement table =

  34.                         driver.findElement(By.id("inningsBat1"));

  35.                 List<WebElement> rows = table.findElements(By.tagName("tr"));

  36.                 Iterator<WebElement> i = rows.iterator();

  37.  

  38.                 //Print the table.

  39.                 while(i.hasNext()) {

  40.                         WebElement row = i.next();

  41.                         List<WebElement> columns = row.findElements(By.tagName("td"));

  42.                         Iterator<WebElement> j = columns.iterator();

  43.  

  44.                         while(j.hasNext()) {

  45.                                 WebElement column = j.next();

  46.                                 //Removing blank columns data and add a separator while displaying data.

  47.                                 if (!column.getText().trim().equals("")){

  48.                                         System.out.print(column.getText());

  49.                                         System.out.print(" | ");

  50.                                 }

  51.                         }

  52.                         System.out.println("");

  53.      System.out.println("-----------------------------------------------");

  54.                 }

  55.         }

  56.  

  57.         @After

  58.         public void tearDown() throws Exception {

  59.                 driver.quit();

  60.         }

  61. }