Cypress:如何在cy.get中使用变量获取指定元素?
问题分析与解决方案
你的实现思路完全可行,问题出在字符串模板的语法错误上。
你当前代码里用单引号包裹选择器,里面的${List[0]}不会被JavaScript解析成数组元素的值,而是被当作普通字符串处理,导致Cypress找不到对应的元素。
修正后的基础写法
把选择器的单引号改成反引号(`),让模板字符串正常解析变量:
const List = ['Age', 'Name', 'Creation'] cy.get(`*[value^=${List[0]}]`).should('not.have.class','errand-cui') cy.get(`*[value^=${List[1]}]`).should('not.have.class','errand-cui')
更简洁的遍历写法
既然用了数组存储目标值,完全可以通过遍历减少重复代码,适配数组长度变化:
const List = ['Age', 'Name', 'Creation'] List.forEach(item => { cy.get(`*[value^=${item}]`).should('not.have.class','errand-cui') })
内容的提问来源于stack exchange,提问作者Ichame
相关产品推荐
相关产品推荐

