赛普拉斯 - 反转每个

Cypress - reverse each

我需要反向从数组中获取元素。我必须从最后一个开始。我在 Cypress 中找不到与 jQuery 'reverse' 不同的解决方案,但我在使用它时遇到问题。

不要双向工作:

 cy.get('.btn-remove.action.delete').reverse().each(($el, index, $list) =>  {
                        cy.get($el).click({force:true})
                       cy.wait(1000)
                })

赛普拉斯的回答 - TypeError: cy.get(...).reverse 不是函数

cy.get('.btn-remove.action.delete').invoke('reverse').each(($el, index, $list) =>  {
                        cy.get($el).click({force:true})
                        cy.wait(1000)
                })

来自 Cypress 的回答 - CypressError:重试超时:cy.invoke() 出错,因为 属性:'reverse' 在您的主题中不存在。

或者可能有不同于 reverse() 的方式?

试试 for 循环并从末尾开始迭代,使用 eq():

cy.get('.btn-remove.action.delete').its('length').then((numberOfItems) => {
  for (var i = numberOfItems-1; i>=0; i--) {
    cy.get('.btn-remove.action.delete').eq(i).click({force:true})
  }
})

也许这不是最干净的方法,但应该可行。

不确定您的代码中的 cy.wait(1000) 是什么,但这里不需要。 (Actually, you should avoid using cy.wait() as much as possible)

如果您有任何问题,请告诉我。