You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cypress如何在before钩子中实现HTML表格所有数据行批量删除

function deleteAllFoundProducts() {
    cy.get('tbody tr').then(rows => {
        // 判断是否为空状态提示行
        const isEmptyState = rows.text().includes('No matching records found')
        // 行数为空 或 为空状态时直接终止递归
        if (rows.length < 1 || isEmptyState) return
        // 限定删除按钮的查询范围仅在当前表格行内,避免命中页面其他同名元素
        cy.wrap(rows).first().find('span[title="Delete"]', {timeout: 10000}).click()
        cy.get('.tBtn[title="Yes"]').click().then(() => {
            cy.get('.loader', {timeout: 10000}).should('not.exist')
            deleteAllFoundProducts()
        })
    })
}

修改说明

  1. 新增空状态判断逻辑:空表格渲染的提示行文本固定为No matching records found,检测到该文本存在时直接终止递归,不会进入后续删除流程,从根源避免找不到删除元素的报错
  2. 优化删除按钮查询范围:将删除按钮的查询限定在已获取的表格行内部,避免页面其他区域的同属性删除按钮干扰测试,提升用例稳定性

内容的提问来源于stack exchange,提问作者Xerces

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:09:03