package com.xxxx.mobile.util;
import java.util.List;
import org.apache.log4j.Logger;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
public class HandleWebTable {
static Logger logger = Logger.getLogger(HandleWebTable.class);
private WebDriver driver;
private String tableID;
private int startColumnNum;
private int endColumnNum;
public HandleWebTable(WebDriver wdr, String tableID, int sColumnNum, inteColumnNum){
this.driver = wdr;
this.tableID = tableID;
this.startColumnNum = sColumnNum;
this.endColumnNum = eColumnNum;
}
public void printTableContent(){
String trString = "id('" + this.tableID + "')/tbody/tr";
try{
WebElement table_element = driver.findElement(By.id(this.tableID));
List<WebElement>tr_collection=table_element.findElements(By.xpath(trString));
System.out.println("NUMBER OF ROWS IN THIS TABLE ="+tr_collection.size());
List<WebElement> td_collection, td_subCollection;
int row_num,col_num;
row_num=1;
for(WebElement trElement : tr_collection){
td_collection=trElement.findElements(By.xpath("td"));
td_subCollection =td_collection.subList(this.startColumnNum-1, this.endColumnNum);
System.out.println("NUMBER OFCOLUMNS="+td_subCollection.size());
col_num=1;
for(WebElement tdElement : td_subCollection){
System.out.println("row # "+row_num+", col # "+col_num+" text="+tdElement.getText());
logger.info("row # "+row_num+", col # "+col_num+ "text="+tdElement.getText());
col_num++;
}
row_num++;
}
}catch(Exception e){
logger.error("Print table content" + this.tableID + " failed."+e.getMessage(),e);
}
}
}
//Print out table content with specifiedcolumn range
HandleWebTable hwtable = new HandleWebTable(sDriver.getDriver(),tableID, 2, 6);
hwtable.printTableContent();