Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

326
Vistas
Cypress Automation: no se puede encontrar el botón basado en el texto

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-el

La siguiente imagen muestra el elemento completo:

ingrese la descripción de la imagen aquí

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:

Buscar por contenido de texto

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

ingrese la descripción de la imagen aquí

Captura de pantalla que muestra una ventana emergente en Cypress:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El botón 'Aceptar todo' está dentro de un iframe. Entonces, primero debe ingresar al iframe y luego realizar el clic.

  1. Instale el complemento cypress-iframe usando el comando npm install -D cypress-iframe

  2. Vaya a cypress/support/commands.js y escriba import 'cypress-iframe';

  3. En tu prueba escribe:

 cy.iframe('[title="SP Consent Message"]').find('button[title="Accept All"]').click()
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda