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

Cypress中如何使用then()获取元素值并执行if-else条件判断

问题原因

你当前的写法存在两个核心问题:

  • $span.text() 获取到的是字符串类型,你使用includes(0)是判断字符串中是否包含字符0,而不是做数值大小比较,完全不符合你的需求
  • 没有将文本内容转换为数值类型,无法直接进行大于/小于的数值判断

正确实现代码

cy.get(".badge.ml-1.badge-primary").then(($span) => {
  // 取文本去除前后空白,转成数值类型
  const spanNum = Number($span.text().trim())
  // 按需求做数值判断
  if (spanNum > 0) {
    doFunction1()
  } else {
    cy.get('xxxxx')
  }
})

注意事项

  • 如果文本可能存在非数字的场景,可以加一层合法性判断,比如用isNaN(spanNum)先校验是否为有效数字再走后续逻辑
  • 所有涉及Cypress命令的操作都可以直接放在then回调内执行,Cypress会自动维护命令队列的执行顺序,不会出现异步顺序混乱的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:12:02