Estoy aprendiendo Cypress y he estado automatizando varios sitios web durante las últimas semanas. Sin embargo, tengo problemas para hacer clic en un botón según su clase o valor de texto. (Se supone que es fácil, lo sé)
El botón no tiene una identificación y tiene un nombre de clase largo:
message-component message-button no-children focusable sp_choice_type_11 last-focusable-elLa siguiente imagen muestra el elemento completo:
He probado el siguiente código:
cy.contains('Accept All').click() cy.get('#message-component message-button no-children focusable sp_choice_type_11 last-focusable-el').contains('Accept All').click(); cy.get('button').contains('Accept All').click()Sin embargo, simplemente da el mismo error y no puede encontrar el botón.
Ya revisé la documentación de ciprés y seguí algunos consejos de esta publicación:
También pensé que puede ser que cargue el botón después de 4 segundos, así que aumenté el "defaultCommandTimeout" a 7000. Sin embargo, todavía no tuve suerte.
¿Alguien tiene alguna idea?
¡Muy apreciado!
*** EDITAR ****
imagen del error
Captura de pantalla que muestra una ventana emergente en Cypress:
El botón 'Aceptar todo' está dentro de un iframe. Entonces, primero debe ingresar al iframe y luego realizar el clic.
Instale el complemento cypress-iframe usando el comando npm install -D cypress-iframe
Vaya a cypress/support/commands.js y escriba import 'cypress-iframe';
En tu prueba escribe:
cy.iframe('[title="SP Consent Message"]').find('button[title="Accept All"]').click()