我需要反向从数组中取出元素。我必须从最后一个开始。在Cypress中找不到与jQuery“反向”不同的解决方案,但我在使用时遇到问题。
不能同时使用:
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/vuetify@1.5.14/dist/vuetify.min.css" rel="stylesheet" />
<div id="app">
<v-app id="inspire">
<v-container>
<v-layout justify-center>
<v-flex xs6>
<v-text-field solo v-model="inputField"></v-text-field>
<v-btn @click="createArray">Click Me</v-btn>
</v-flex>
</v-layout>
</v-container>
</v-app>
</div>
赛普拉斯的答案-TypeError:cy.get(...)。reverse不是函数
还有
cy.get('.btn-remove.action.delete').reverse().each(($el, index, $list) => {
cy.get($el).click({force:true})
cy.wait(1000)
})
来自Cypress的答案-CypressError:超时重试:cy.invoke()错误,因为您的主题上不存在属性“ reverse”。
或者也许有其他方法与reverse()不同?
答案 0 :(得分:0)
如何尝试使用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)
如果您有任何疑问,请告诉我。