我会尝试将 li 元素的内容转换为字符串,并据此执行条件语句:
cy.get('li')
.each($element => {
if($element.innerHtml().includes("source") && $element.innerHtml().includes("completed")) {
$element.click()
}
})
编辑2:如果有多个元素可以有效并且您陷入循环 - 递归更好
cy.get('li')
.then(elements => {
let i = 0
function checkElementsAdnClick(arrayOfElements) {
if (i >= arrayOfElements.length) {
return
}
cy.get(arrayOfElements[i])
.then($element => {
if ($element.html().includes("source") &&
$element.html().includes("source") &&
i < arrayOfElements.length
) {
return arrayOfElements[i].click()
} else {
i++
return checkElementsAdnClick(arrayOfElements)
}
})
}
checkElementsAdnClick(elements)
}
)