我有一些元素的标题是这样的:
模板2021-4-7 9:50:53
模板2021-4-7 10:35:52
模板2021-4-7 10:38:17
模板2021-4-7 9:50:24
模板2021-4-7 11:27:10
模板2021-4-7 11:24:21
我想选择最新的一个,所以我写了这样的方法:
Cypress.Commands.add('addLatestTemplateToSheet', () => {
let templateTitle: string;
workbookEditor.leftMenu.templateMenuButton.click();
workbookEditor.leftMenu.templateItem
.each(($templateItem, index) => {
if (index === 0) {
templateTitle = $templateItem.attr('title');
}
else{
if (templateTitle < $templateItem.attr('title')) {
templateTitle = $templateItem.attr('title');
}
}
})
.then(() => {
//next part of code
});
});
不幸的是,它不能工作,我从列表中得到第一项。我应该如何纠正我的方法?
发布于 2021-04-07 23:04:58
您可以在.then()之后使用.spread()从集合中选择一个元素,例如
cy.get('li')
.spread((...listElements) => {
const sortedListElements = Array.prototype.slice.call(listElements).sort(...);
return sortedListElements[0];
})
.then((listElement) => {
// do what you need with the item
});https://stackoverflow.com/questions/66984790
复制相似问题