我正在 Cypress 中进行测试,我需要与 iframe 内的元素进行交互。挑战是我需要通过其文本内容来定位该元素。我尝试了几种方法,但似乎都不起作用。
以下方法都无法根据元素的文本查找元素或与元素交互:
`
import "cypress-iframe";
cy.iframe('[data-testid="iframe"]').within(() => {
cy.contains('The cost is £500.00.', { timeout: 30000 }).should('be.visible');
});
cy.iframe().contains('The cost is £500.00')
cy.iframe().find('The cost is £500.00')`
鉴于您的 iframe 如下所示:
<iframe data-testid="iframe" ... ></iframe>
您可以尝试通过这样做来查找其中的元素:
cy.get('[data-testid="iframe"]').contains('The cost is £500.00');
根据 iframe 的 src 加载速度,您最终可能会遇到 Cypress 超时的情况。请记住,默认超时为 4 秒。