Cypress:不使用{multiple:true}点击指定数量同选择器元素
解决Cypress中点击指定数量同选择器元素的问题
当你遇到用{multiple:true}会点击全部同选择器元素,而用Cypress._.times()触发cy.click() can only be called on a single element错误时,可通过以下方式解决:
方法1:遍历元素列表并限制点击次数
先获取所有匹配元素,通过索引判断只点击前5个:
cy.get('.target-selector').each(($el, index) => { if (index < 5) { cy.wrap($el).click() } })
方法2:结合_.times()和.eq()定位单个元素
每次循环通过.eq(i)精准定位到第i个元素,避免操作多个元素集合:
Cypress._.times(5, (i) => { cy.get('.target-selector').eq(i).click() })
可选:随机点击5个元素
若不需要按顺序,可借助lodash的sampleSize随机选取5个元素点击:
cy.get('.target-selector').then(($els) => { const randomElements = Cypress._.sampleSize($els, 5) randomElements.forEach(($el) => { cy.wrap($el).click() }) })
内容的提问来源于stack exchange,提问作者Martiross Sedrakyan
相关产品推荐
相关产品推荐

