Cypress提取paging-label下无标识分页文本并截取总条数的方法
实现方案
你之前只能获取到<span>标签内文本的核心原因是未等待元素完全渲染就执行文本提取,可通过添加渲染等待+正则匹配的方式稳定提取总条数,代码如下:
cy.xpath("//div[@class='paging-wrapper']//div[@class='paging-label']") // 先等待元素可见,确保文本完全渲染 .should('be.visible') .then(($pageCounter) => { // 去除文本中的多余换行、空格,得到规整字符串 const fullText = $pageCounter.text().trim().replace(/\s+/g, ' '); // 匹配"of "后跟随的所有数字,适配1位、2位、多位总条数场景 const totalResult = fullText.match(/of\s+(\d+)/); if (totalResult) { // 提取到的总条数字符串,可按需转成数字类型使用 const totalCount = totalResult[1]; cy.log('总条数:', totalCount); // 可选:添加断言校验总条数是否符合预期 expect(Number(totalCount)).to.eq(12); } })
如果你的分页格式固定为总条数只有2位,也可以替换提取逻辑为硬截取对应位置字符:
const totalCount = fullText.split('of')[1].trim().slice(0,2)
内容的提问来源于stack exchange,提问作者pontilicious
相关产品推荐
相关产品推荐

