¿Puede alguien, por favor ayudar en lo siguiente:
Quiere hacer clic en el elemento que reside en el iframe encontrado. Además, el complemento importado import 'cypress-iframe'; en la clase de comandos . Código para fundar iframe y hacer clic en el elemento:
clickIFrameElement(elementCss, element1Css) { cy.frameLoaded(elementCss); cy.iframe(elementCss).find(element1Css).then(function(){ cy.get(element1Css).click({ force: true }) }) }En prueba, llamo a este comando:
cy.frameLoaded(elementCss).eq(0); cy.iframe().find(element1Css).should('be.visible').click()Encuentra iframe, pero no haga clic en el elemento. Error que obtiene:
Timed out retrying after 20000ms: Expected to find element: #grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"], but never found it.¿Qué estoy haciendo mal o qué es incorrecto en el código?
Gracias de antemano
ACTUALIZAR
Intenté también el segundo enfoque con el siguiente comando:
cy.iframe().find(#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]).should('be.visible').click()Pero obtuve el segundo error:
cypress-iframe commands can only be applied to exactly one iframe at a time. Instead found 7Reemplace esta línea en su código
cy.iframe('#ifrmCookieBanner') .find('#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]') .should('be.visible') .click() Y pon esto en tu support/index.js
Cypress.on('uncaught:exception', (err, runnable) => { // returning false here prevents Cypress from // failing the test return false })Compruebe si la URL del iframe pertenece al mismo dominio de la ventana actual, de lo contrario, esto no se puede ejecutar por razones de seguridad. Pero si sabe cómo instalar una extensión de Chrome en el usuario, esta acción se puede realizar a través de content_script;)