Cypress如何通过ID后缀或首尾特征匹配获取目标DOM元素
Cypress 按ID片段匹配元素的实现方法
场景1:仅匹配ID后缀_is_good获取目标div
直接使用CSS原生的属性后缀匹配语法即可,Cypress完全兼容原生CSS选择器规则:
// 匹配所有id属性值以_is_good结尾的div元素 cy.get('div[id$="_is_good"]')
语法里的$=是CSS属性选择器的后缀匹配符,专门用来筛选属性值以指定字符串结尾的元素,上述写法可以直接命中你提到的ID为random_is_good的div元素。
场景2:已知ID前缀random_、后缀_good,中间内容未知
将前缀匹配、后缀匹配规则拼接使用即可,两个属性选择器连续书写代表元素需要同时满足两个匹配规则:
// 匹配id以random_开头、同时以_good结尾的div元素,中间任意内容都可命中 cy.get('div[id^="random_"][id$="_good"]')
语法里的^=是CSS属性选择器的前缀匹配符,用来筛选属性值以指定字符串开头的元素。两个规则叠加后,不管两段固定字符串中间是什么内容,都可以被正确匹配到。
注意:如果页面内存在多个同时满足匹配规则的元素,上述选择器会返回多个匹配结果,建议搭配父元素定位、
.eq(index)等方式锁定唯一目标元素,避免定位出错。
内容的提问来源于stack exchange,提问作者jakub
相关产品推荐
相关产品推荐

