我有一个带有标题(1row)和页脚(1行)的表。我得到表大小和期望值为50但它返回52,因为它计算页眉和页脚行。有没有办法我可以在我的代码中排除页眉和页脚行,并获得实际的预期值。这是我获取表格大小的代码
public int getTableSize() throws InterruptedException{
List<WebElement> columnElements = driver.findElements(By.cssSelector("table[class='table table-bordered table-hover ng-isolate-scope']>tbody>tr"));
return columnElements.size();
}
答案 0 :(得分:2)
你可以使用:不在你的选择器中否定第一个孩子和最后一个孩子
table[class='table table-bordered table-hover ng-isolate-scope']>tbody>tr:not(:first-child):not(:last-child)
答案 1 :(得分:0)
最有效(或最便宜)的方法是减去要删除的元素数量,在您的情况下,该方法应如下所示:
public int getTableSize() throws InterruptedException{
List<WebElement> columnElements = driver.findElements(By.cssSelector("table[class='table table-bordered table-hover ng-isolate-scope']>tbody>tr"));
return columnElements.size() - 2;
}
由于性能问题,我强烈建议将此作为主要解决方案。对我来说,很难想象需要更复杂的解决方案。