我无法与阴影DOM和iframe内的元素交互。附件是HTML文档片段。我在这里用柏树。我直接与第二个阴影DOM和iframe交互。
我的cypress代码文章源自玩技e族-https://www.playezu.com/180112.html
cy.get('formbuilder-mainpage').should(e => {
console.log(e)
const [dom] = e.get()
console.log(dom)
dom.shadowRoot.querySelector().getIframe('iframe').find('New Organization').click()
})
文章源自玩技e族-https://www.playezu.com/180112.html 文章源自玩技e族-https://www.playezu.com/180112.html
未知地区 2F
使用Cypress命令,以下可能是您的测试。
第一 .通知toast 是一个toat弹出窗口,它将被设置动画,因此包括 .布局包装器 在它下面,Cypress将等待动画完成。
it(‘test deeply nested shadow DOM’, () => {
cy.get(‘main .通知toast .布局包装器’)
.shadow() // 1st shadow
.find(‘formbuilder-mainpage’)
.shadow() // 2nd shadow
.getIframe(‘iframe’)
.find(‘New Organization’)
.click()
})
未知地区 1F
在cypress配置文件中,添加 includeShadowDom:true,这将确保所有cypress命令将自动遍历阴影DOM。
对于iFrame,我建议您使用插件cypress iFrame插件。
cy.iframe(‘iframe’).(‘elmeent-selector’).click()