Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Selenium-动态数据网格_Java_Selenium_Datagrid - Fatal编程技术网

Java Selenium-动态数据网格

Java Selenium-动态数据网格,java,selenium,datagrid,Java,Selenium,Datagrid,我目前正在尝试遍历包含一些信息的数据网格。我能够遍历实际的表头并获得列名,但我将以此作为识别列数据的基础 我面临着以下挑战, 1.我能够提取网格上的每一行并将其添加到数组列表中。 2.对于每一行,我可以将每个单元格条目添加到另一个数组列表中,但基于正则表达式空间执行拆分。 3.因为一个单元格值可以有两个字符串值,所以每个值都会分别添加到当然数组中,但这不是我想要的 我想使用列标题作为索引来查找特定行条目的单元格值 示例列标题3的索引为2,我想使用该索引获取单元格3的完整单元格值 我的代码:

我目前正在尝试遍历包含一些信息的数据网格。我能够遍历实际的表头并获得列名,但我将以此作为识别列数据的基础

我面临着以下挑战, 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();
打破

表的图像已添加。我已找到解决方案,并将关闭