我正在使用selenium创建数据验证框架.我正在努力解决的问题是我想在元素"tr"(html标签)中找到元素"td"(html标签).这是我写的代码.
Iterator<WebElement> i = rows.iterator();
While(i.hasnext()){
List<WebElement> columns = row.findElements(By.tagName("td"));
for(WebElement s:columns)
{
System.out.println("columnDetails : "+s.getText().toString());
}
if(columns.isEmpty())
{
ElementNotFoundException e = new ElementNotFoundException("No data in table");
throw e;
}
Iterator<WebElement> j = columns.iterator();// does some other work
ClusterData c = new ClusterData(); // does some other work
ClusterDataInitializer.initUI(c, j, lheaders); // does some other work
CUIData.put(c.getCN(), c); // does some other work
}
Run Code Online (Sandbox Code Playgroud)
现在问题是:

我试图从arraylist中的行(参见表数据)中获取数据并进一步使用该arraylist.目前发生的是列标题的数据是在开始时获取的,我没有用.我只想要行的数据.我无法确定仅收集表行数据的正确方法.如果表的xPath将帮助您正确理解它,那么这里是详细信息:
xPath群集名称列的表头:
/html/body/table/tbody/tr[2]/td[2]/div[2]/div/div/div[2]/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div[2]/div/div/div[2]/div[2]/div/table/tbody/tr/td[2]/div/div[2]
Run Code Online (Sandbox Code Playgroud)
xPath测试集群01的表行(表数据):
/html/body/table/tbody/tr[2]/td[2]/div[2]/div/div/div[2]/div/div/div[2]/div/div/div[2]/div/div/div/div/div/div[2]/div/div/div[2]/div/div/div[3]/div[2]/div/table/tbody/tr/td[2]/div/div/a
Run Code Online (Sandbox Code Playgroud)
如果您还有其他需要,请告诉我.
我使用以下代码从表中提取行数据.
List<WebElement> rows = getElement(driver,sBy,"table_div_id").findElements(By.tagName("tr"));
Run Code Online (Sandbox Code Playgroud)
其中sBy …