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

如何使用Cypress的contains匹配精确字符串?

解决Cypress精确匹配字符串的问题

问题原因

  • cy.contains('span', 'Apple') 默认是模糊匹配,会选中所有包含"Apple"子串的元素,比如"Apple Pie"、"Green Apple"这类都能被匹配到。
  • 你写的正则代码失效是因为拼写错误:正确的正则构造函数是 RegExp,不是 Regex。

两种可行的解决方案

方案1:使用正确的正则表达式

可以用正则字面量(推荐),或者修正构造函数拼写:

// 正则字面量写法
cy.contains('span', /^Apple$/);

// 构造函数写法
cy.contains('span', new RegExp("^Apple$"));

^ 和 $ 分别对应字符串的开头和结尾,确保只有完全等于"Apple"的元素会被选中。

方案2:使用exact选项(Cypress 6.0+ 支持)

通过配置选项开启精确匹配,写法更直观:

cy.contains('span', 'Apple', { exact: true });

如果需要严格区分大小写,可额外添加matchCase: true(默认即为true,可省略):

cy.contains('span', 'Apple', { exact: true, matchCase: true });

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 03:32:02