java获得单元格的值_Java 获取表格中某一个单元格的值

这个Java程序展示了如何使用自动化测试工具获取网页表格中特定单元格的值。通过定位到网页元素,找到表格行和列,并根据列名和行号获取单元格的内容。程序中包含了获取总行数和总列数的方法,以及处理不存在的行异常的逻辑。
摘要由CSDN通过智能技术生成

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;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值