使用Selenide统计网页表格行数的技术求助
使用Selenide统计表格行数并验证显示逻辑
一、核心逻辑
根据你提供的HTML结构,表格的“行”对应<tbody>下带有srringtable类的<div>元素。统计行数本质就是统计这类元素的数量,再和你选择的目标行数(比如15)做断言验证。
二、具体实现代码
1. 统计表格实际行数
直接通过Selenide的元素集合定位获取所有行元素,再获取其数量:
// 定位表格内的所有行元素 ElementsCollection tableRows = $$(".table_pay tbody .srringtable"); // 获取实际行数 int actualRowCount = tableRows.size();
2. 断言行数与选择值匹配
假设你已完成“选择15行”的操作(比如下拉框选择),直接验证实际行数等于预期值:
import static com.codeborne.selenide.Condition.size; // 直接断言集合大小为15 $$(".table_pay tbody .srringtable").shouldHave(size(15));
或者用JUnit断言做更详细的错误提示:
import static org.junit.Assert.assertEquals; int expectedRowCount = 15; int actualRowCount = $$(".table_pay tbody .srringtable").size(); assertEquals("表格显示行数与选择的数量不匹配", expectedRowCount, actualRowCount);
3. 额外:验证页面行数显示文本
如果页面有专门显示行数的文本元素(比如某标签显示“15”),可同时验证该文本:
import static com.codeborne.selenide.Condition.text; // 假设显示行数的元素类为row-display-text $(".row-display-text").shouldHave(text("15"));
三、注意事项
- 定位器精准性:如果页面存在多个
.table_pay表格,需给目标表格添加唯一标识(如id),避免统计错误。 - 异步加载处理:若表格是异步渲染,需确保元素加载完成后再统计,Selenide默认会自动等待元素可见,也可显式等待:
import static com.codeborne.selenide.Condition.visible; $$(".table_pay tbody .srringtable").shouldBe(visible);
内容的提问来源于stack exchange,提问作者Laplas
相关产品推荐
相关产品推荐

