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

能否让Cypress的cy.nodes选择器实现不区分大小写匹配?

解决Cytoscape节点名称不区分大小写的搜索问题

问题描述

我已使用选择器实现了按名称搜索功能,代码如下:

cy.nodes(`[name *= '${pattern}']`);

该功能运行正常,但存在区分大小写的问题。请问是否可以定义一个不区分大小写的选择器?若没有现成方案,我计划通过遍历每个节点并调用测试函数的方式手动实现该功能。

解决方案

  • Cytoscape的原生属性选择器不支持原生的不区分大小写匹配,但有更简洁的替代方案:
    直接使用.filter()方法自定义匹配逻辑,实现和原选择器*=行为一致的不区分大小写包含搜索:
    cy.nodes().filter(node => {
      const nodeName = node.data('name');
      // 统一转为小写后判断包含关系,可选链避免null/undefined报错
      return nodeName?.toLowerCase().includes(pattern.toLowerCase());
    });
    
  • 若你想尝试自定义选择器的方式,虽可通过cy.extend()注册伪类选择器,但filter方法更直观、代码维护成本更低,完全能替代手动遍历节点的实现方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 13:20:02