

Я хочу нажать кнопку «Далее», чтобы проверить разбиение на страницы, пока его класс не будет «отключен». Я использовал код ниже. Но он продолжает нажимать, даже если кнопка «Далее» имеет «отключенный» класс. А Кипарис выкидывает ошибку на вложение.
static pagination(){
var index = 0
cy.get('li [data-test="page-link"]:not(.active):not([aria-label="Next"]):not([aria-label="Previous"]').as("pages")
cy.get('@pages').its('length').then( len =>{
if(index <= len){
cy.get('[data-test="page-link"][aria-label="Next"]').then( next=>{
cy.wrap(next).invoke('hasClass', 'disabled').then( classDisable =>{
if(classDisable==false){
cy.wait(500)
cy.wrap(next).should('not.have.class', 'disabled')
cy.wrap(next).click()
}
this.pagination()
index++
})
})
}
})
}
Решение проблемы
Если вы хотите нажать на отключенную кнопку, вы должны использовать{force: true}
cy.wrap(next).click({force: true})
И если вы хотите сначала проверить, включена ли кнопка или нет, а затем выполнить щелчок, вы можете сделать что-то вроде:
cy.get('[data-test="page-link"][aria-label="Next"]').then(($next) => {
if ($next.is(':enabled')) {
//next button is enabled
cy.wrap(next).click()
} else {
// Do something when next button is disabled
}
})
Комментариев нет:
Отправить комментарий