cy.get是否可能阻止iframe加载?

问题描述

我在赛普拉斯工作的页面上有iframe元素。我使用了将文本输入到iframe中的功能

 function inputTextToIframe(text) {
  cy.get('iframe').then(($iframe) => {
    const $body = $iframe.contents().find('body');
    cy.wrap($body).type(text);
  });
}

功能运行正常。但是关于元素可见性存在一个问题:必须在函数开始工作之前将其可见。因此,我必须用足够使元素完全加载的时间间隔(约10秒)来强制cy.wait()。只有这样我才能应用该功能。如果我在不使用cy.wait()的情况下调用函数,则无论在cypress.json中使用的defaultCommandTimeout为何,iframe都不会在页面显示。例如。我使用cy.wait(10000),并且代码在加载iframe后可以正常工作,但是如果我将cypress.json配置为"defaultCommandTimeout": 30000而不是使用cy.wait(),则该代码将无法工作,因为iframe永远不会出现在页面上,并且赛普拉斯表示不存在。看来cy.get()指令阻止了元素的加载。有可能吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)