packagecom.thanos.ebony2;import staticcom.thanos.ebony2.bean.AntFormBrowser.BROWSER;importcom.thanos.ebony2.exception.NoSuchRow;importjava.util.ArrayList;importjava.util.List;importorg.openqa.selenium.By;importorg.openqa.selenium.WebElement;importcom.thanos.ebony2.bean.AntProp;
@SuppressWarnings(value= {"unchecked", "rawtypes"})public classTest {public static void main(String[] args) { //测试代码
BROWSER.open(AntProp.getProp("XXXURL"));
BROWSER.pause(1);
BROWSER.click("//*[@id=\"abc\"]/div/div/form/div[2]/div/div/div/span/div[1]/button");
BROWSER.pause(1);
System.out.println(getRowNo());
System.out.println(getColNo());
String a= getCell("A", 10); //取A列第10行的值
System.out.println("cellValue a: " +a);
String b= getCell("G", 11); //取G列第11行的值
System.out.println("cellValue b: " +b);
}/** 参数: 列名 String tabName; 行数 int rowNo
* 返回值: 某一个格子的值*/
public static String getCell(String colName, introwNo) {int totalRow =getRowNo();if (rowNo < 1) {throw new NoSuchRow(String.format("row [%s]", rowNo));
}else if(rowNo >totalRow) {throw new NoSuchRow(String.format("There's %s rows, your input %s is not reachable", totalRow, rowNo));
}
List temp = BROWSER.getWebDriver().findElements(By.tagName("tr"));
List currentRow = temp.subList(1, temp.size()-1); //去掉表头那一行
String[] rowData = currentRow.get(rowNo-1).getText().split(" "); //注: 因第一行是表头(列名), 所以取单元格值时表头不计入rowNo. 即: rowNo传入1时所取的值是表头下面第一行的值.
List tags = BROWSER.getWebDriver().findElements(By.tagName("th"));
List tagNames = newArrayList();for(WebElement ele : tags) {
String name=ele.getText();
tagNames.add(name);
}//Float cellValue = 0f;
String cellValue = "";int index =tagNames.indexOf(colName);//cellValue = Float.parseFloat(rowData[index]);
cellValue =rowData[index];returncellValue;
}public static intgetColNo() {
List elements = BROWSER.getWebDriver().findElements(By.tagName("th"));//for (WebElement webElement : elements) {//System.out.println(webElement.getText());//}
returnelements.size();
}public static intgetRowNo() {
List elements = BROWSER.getWebDriver().findElements(By.tagName("tr"));//for (WebElement webElement : elements) {//System.out.println(webElement.getText());//}
return elements.size()-1;
}
}