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

如何确定canvas内上传图片数量,调用对应次数Remove_image()清理画布

解决方案

核心逻辑是动态获取当前已上传图片的数量,再对应调用删除方法,无需硬编码固定调用次数:

  • 你原本的条件判断逻辑写反了:你要求的是画布为空直接上传,否则先删再传,原有代码中length>0时直接上传的逻辑和需求相反,已在优化代码中修正
  • 使用Cypress内置的Cypress._.times方法做异步循环,完美适配Cypress的执行规则,不会出现循环次数错位问题

优化后完整代码

cy.get('body').each((body) => {
    // 获取当前已上传图片对应的元素数量
    const uploadedImageCount = body.find(':nth-child(2) > .front-upload > :nth-child(2) > .table > .table-cell').length

    if (uploadedImageCount === 0) {
        // 画布为空,直接执行上传逻辑
        const filepath = "Front.jpg"
        imageupload.fileuploadInput().attachFile(filepath, { subjectType: 'drag-n-drop' })
        cy.wait(60000)
        cy.Flip_image()
    } else {
        // 存在已上传图片,按实际数量动态调用删除方法
        cy.log(`检测到${uploadedImageCount}张已上传图片,开始删除`)
        Cypress._.times(uploadedImageCount, () => {
            cy.Remove_image()
            // 每次删除后增加短等待,避免操作冲突,可根据实际执行速度调整时长
            cy.wait(500)
        })

        // 删除完成后执行上传
        cy.wait(1000)
        const filepath = "Front.jpg"
        imageupload.fileuploadInput().attachFile(filepath, { subjectType: 'drag-n-drop' })
        cy.wait(60000)
        cy.Flip_image()
    }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.11 09:27:03