【发布时间】:2022-08-22 14:31:44
【问题描述】:
标签: cypress
标签: cypress
看起来有一个iframe 阻止了您的测试代码。
首先通过右键单击按钮来验证是否如此,选择“检查元素”,然后在“元素”面板中向上滚动,直到找到<iframe> 并找出它的id=... 属性。
要处理 iframe,最简单的方法是使用 cypress-iframe 插件。
笔记此插件上的说明尚未针对 Cypress 版本 10 进行更新。
安装后,在规范顶部添加require('cypress-iframe');。
在测试中使用以下内容,但将上面找到的 id 替换为 #my-iframe
cy.iframe('#my-frame')
.find('button[title="Accept Cookies"]')
.click()
【讨论】:
经过另一项研究,它足以找到 iframe 的 ID,然后将其放在 .its('0.contentDocument.body') 之后,然后可以找到 inframe 内的任何元素
cy.get('#sp_message_iframe_658470').its('0.contentDocument.body').find('button[title="Accept cookies"]').click();
【讨论】: