Cypress Automation - 无法根据文本找到按钮
Cypress Automation - Cannot find button based on text
我正在学习 Cypress,过去几周一直在自动化各种网站。但是,我在单击基于 class 或文本值的按钮时遇到问题。 (应该很简单,我知道)
该按钮没有 ID,名称很长 class:
message-component message-button no-children focusable sp_choice_type_11 last-focusable-el
下图显示了完整的元素:
我试过以下代码:
cy.contains('Accept All').click()
cy.get('#message-component message-button no-children focusable sp_choice_type_11 last-focusable-el').contains('Accept All').click();
cy.get('button').contains('Accept All').click()
然而,它只是报同样的错误,找不到按钮。
我已经检查了 cypress 的文档并遵循了一些建议 post:
我还认为它可能会在 4 秒后加载按钮,所以我将 "defaultCommandTimeout"
提高到 7000。但是,还是不行。
有没有人有什么想法?
非常感谢!
*** 编辑 ****
错误图片
在 cypress 中显示弹出窗口的屏幕截图:
'Accept All' 按钮位于 iframe 内。所以你必须先进入iframe,然后执行点击。
使用命令 npm install -D cypress-iframe
安装 cypress-iframe 插件
转到cypress/support/commands.js
并写入import 'cypress-iframe';
在你的测试中写:
cy.iframe('[title="SP Consent Message"]').find('button[title="Accept All"]').click()
我正在学习 Cypress,过去几周一直在自动化各种网站。但是,我在单击基于 class 或文本值的按钮时遇到问题。 (应该很简单,我知道)
该按钮没有 ID,名称很长 class:
message-component message-button no-children focusable sp_choice_type_11 last-focusable-el
下图显示了完整的元素:
我试过以下代码:
cy.contains('Accept All').click()
cy.get('#message-component message-button no-children focusable sp_choice_type_11 last-focusable-el').contains('Accept All').click();
cy.get('button').contains('Accept All').click()
然而,它只是报同样的错误,找不到按钮。
我已经检查了 cypress 的文档并遵循了一些建议 post:
我还认为它可能会在 4 秒后加载按钮,所以我将 "defaultCommandTimeout"
提高到 7000。但是,还是不行。
有没有人有什么想法?
非常感谢!
*** 编辑 ****
错误图片
在 cypress 中显示弹出窗口的屏幕截图:
'Accept All' 按钮位于 iframe 内。所以你必须先进入iframe,然后执行点击。
使用命令
安装 cypress-iframe 插件npm install -D cypress-iframe
转到
cypress/support/commands.js
并写入import 'cypress-iframe';
在你的测试中写:
cy.iframe('[title="SP Consent Message"]').find('button[title="Accept All"]').click()