单击 iFrame 中的元素 - 赛普拉斯
Click on element inside iFrame - Cypress
任何人都可以,请协助以下内容:
想要单击驻留在找到的 iframe 上的元素。此外,在 commands class 中导入插件 import 'cypress-iframe';。
创建iframe和点击元素代码:
clickIFrameElement(elementCss, element1Css) {
cy.frameLoaded(elementCss);
cy.iframe(elementCss).find(element1Css).then(function(){
cy.get(element1Css).click({ force: true })
})
}
在测试中,我调用这个命令:
cy.frameLoaded(elementCss).eq(0);
cy.iframe().find(element1Css).should('be.visible').click()
它确实找到了 iframe,但没有点击元素。得到的错误:
Timed out retrying after 20000ms: Expected to find element: #grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"], but never found it.
HTML 用于 iframe:
我哪里做错了,或者代码哪里不对?
提前致谢
更新
还使用以下命令尝试了第二种方法:
cy.iframe().find(#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]).should('be.visible').click()
但是出现第二个错误:
cypress-iframe commands can only be applied to exactly one iframe at a time. Instead found 7
检查 iframe URL 是否属于当前 window 的同一域,否则,出于安全原因,无法执行此操作。但是如果你知道如何在用户中安装 Chrome 扩展,可以通过 content_script ;)
执行此操作
请将此行替换为您的代码
cy.iframe('#ifrmCookieBanner')
.find('#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]')
.should('be.visible')
.click()
并将其放入您的 support/index.js
Cypress.on('uncaught:exception', (err, runnable) => {
// returning false here prevents Cypress from
// failing the test
return false
})
任何人都可以,请协助以下内容:
想要单击驻留在找到的 iframe 上的元素。此外,在 commands class 中导入插件 import 'cypress-iframe';。 创建iframe和点击元素代码:
clickIFrameElement(elementCss, element1Css) {
cy.frameLoaded(elementCss);
cy.iframe(elementCss).find(element1Css).then(function(){
cy.get(element1Css).click({ force: true })
})
}
在测试中,我调用这个命令:
cy.frameLoaded(elementCss).eq(0);
cy.iframe().find(element1Css).should('be.visible').click()
它确实找到了 iframe,但没有点击元素。得到的错误:
Timed out retrying after 20000ms: Expected to find element: #grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"], but never found it.
HTML 用于 iframe:
我哪里做错了,或者代码哪里不对?
提前致谢
更新
还使用以下命令尝试了第二种方法:
cy.iframe().find(#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]).should('be.visible').click()
但是出现第二个错误:
cypress-iframe commands can only be applied to exactly one iframe at a time. Instead found 7
检查 iframe URL 是否属于当前 window 的同一域,否则,出于安全原因,无法执行此操作。但是如果你知道如何在用户中安装 Chrome 扩展,可以通过 content_script ;)
执行此操作请将此行替换为您的代码
cy.iframe('#ifrmCookieBanner')
.find('#grouped-pageload-Banner button[class*="save-consents evSpAcceptBtn"]')
.should('be.visible')
.click()
并将其放入您的 support/index.js
Cypress.on('uncaught:exception', (err, runnable) => {
// returning false here prevents Cypress from
// failing the test
return false
})