【问题标题】:Cannot enter text in an element inside an iframe using Cypress无法使用赛普拉斯在 iframe 内的元素中输入文本
【发布时间】:2020-05-14 12:59:28
【问题描述】:

我一直在浏览 cypress 示例配方 here 并实现了它们,但我无法在 iframe 中存在的元素内输入文本。 这是 DOM 的快照:

“p”标签是我需要输入文本的地方。

这是执行此操作的 Cypress 脚本:

cy.get('div#risq-pros iframe').then($iframe => {
    const $body = $iframe.contents().find('body');
    cy.wrap($body).find('p').should('exist').type("some sample comment");
});

这是我不断得到的:

最终还是没有输入文字。

这是错误信息: 重试超时:应找到元素:p,但从未找到它。从元素查询:body.cke_editable.cke_editable_themed.cke_contents_ltr

我不确定我哪里出错了。

【问题讨论】:

    标签: javascript iframe cypress


    【解决方案1】:

    目前使用带有 iframe 的 Cypress 存在一些已知限制。 以下是一些可能对您遇到的问题有用的资源的链接。

    在 iframe 中定位元素(解决方法): https://github.com/cypress-io/cypress/issues/136

    扩展上述解决方法的文章: https://medium.com/bratislava-angular/testing-an-app-inside-an-iframe-using-cypress-434a4d8b8bbe

    【讨论】:

    • 感谢您的回复。我已经浏览了上述两个链接,并且确实尝试了他们的示例,但对我没有任何帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 2020-12-23
    • 1970-01-01
    • 2021-12-07
    相关资源
    最近更新 更多