Java Selenium-动态数据网格
我目前正在尝试遍历包含一些信息的数据网格。我能够遍历实际的表头并获得列名,但我将以此作为识别列数据的基础 我面临着以下挑战, 1.我能够提取网格上的每一行并将其添加到数组列表中。 2.对于每一行,我可以将每个单元格条目添加到另一个数组列表中,但基于正则表达式空间执行拆分。 3.因为一个单元格值可以有两个字符串值,所以每个值都会分别添加到当然数组中,但这不是我想要的 我想使用列标题作为索引来查找特定行条目的单元格值 示例列标题3的索引为2,我想使用该索引获取单元格3的完整单元格值 我的代码:Java Selenium-动态数据网格,java,selenium,datagrid,Java,Selenium,Datagrid,我目前正在尝试遍历包含一些信息的数据网格。我能够遍历实际的表头并获得列名,但我将以此作为识别列数据的基础 我面临着以下挑战, 1.我能够提取网格上的每一行并将其添加到数组列表中。 2.对于每一行,我可以将每个单元格条目添加到另一个数组列表中,但基于正则表达式空间执行拆分。 3.因为一个单元格值可以有两个字符串值,所以每个值都会分别添加到当然数组中,但这不是我想要的 我想使用列标题作为索引来查找特定行条目的单元格值 示例列标题3的索引为2,我想使用该索引获取单元格3的完整单元格值 我的代码:
List<String> allocationValues, separatedValue, temp;
String cellText = null;
List<WebElement> rows = mydriver.findElements(By.cssSelector("tbody > tr"));
List<WebElement> headersCSS = mydriver.findElements(By.xpath("//*[@id=\"datagrid_2003_head\"]/thead/tr/th"));
int key = 0;
HashMap<Integer, String> headerHM = new HashMap<>();
//Getting column headers, this will suffice for now
for(WebElement header : headersCSS){
headerHM.put(key,header.getText());
key += 1;
}
for (WebElement row : rows) {
if (row.findElement(By.xpath("/html/body/div[1]/div[2]/table/tbody/tr[4]/td/div/div[2]/div[2]/div/div/table/tbody/tr[2]/td/div/div[2]/div[1]/div/div[1]/div[2]/div[3]/table/tbody")).getText().equals("Product One")) ;
cellText = mydriver.findElement(By.xpath("/html/body/div[1]/div[2]/table/tbody/tr[4]/td/div/div[2]/div[2]/div/div/table/tbody/tr[2]/td/div/div[2]/div[1]/div/div[1]/div[2]/div[3]/table/tbody")).getText();
break;
}
allocationValues = Arrays.asList(cellText.split("\n"));
for (String entry: allocationValues) {
separatedValue = Arrays.asList(entry.split(" "));
}
//clear and close the hashMap
headerHM.clear();
break;
列出分配值、分隔值、温度;
字符串cellText=null;
列表行=mydriver.findElements(By.cssSelector(“tbody>tr”);
List headersCSS=mydriver.findElements(By.xpath(“/*[@id=\“datagrid\u 2003\u head\”]/thead/tr/th”);
int键=0;
HashMap headerHM=新的HashMap();
//获取列标题,这就足够了
for(WebElement标题:headersCSS){
headerHM.put(key,header.getText());
键+=1;
}
for(WebElement行:行){
if(row.findelelement(By.xpath(“/html/body/div[1]/div[2]/table/tbody/tr[4]/td/div/div[2]/div/div/table/tbody/tr[2]/td/div/div[1]/div/div[1]/div[2]/div[3]/table/tbody”)).getText();
cellText=mydriver.findElement(By.xpath(“/html/body/div[1]/div[2]/table/tbody/tr[4]/td/div/div[2]/div/div/table/tbody/tr[2]/td/div/div[2]/div[1]/div/div[1]/div[2]/div[3]/table/tbody”))).getText();
打破
}
allocationValues=Arrays.asList(cellText.split(“\n”);
for(字符串条目:allocationValues){
separatedValue=Arrays.asList(entry.split(“”));
}
//清除并关闭hashMap
人头数m.clear();
打破
表的图像已添加。我已找到解决方案,并将关闭