【问题标题】:Unable to retrieve ID of dropdown menu as the page reloads when I try to inspect elements当我尝试检查元素时,无法在页面重新加载时检索下拉菜单的 ID
【发布时间】:2021-11-15 18:35:51
【问题描述】:
下面是我正在尝试为其编写 Cypress 测试的网页的屏幕截图。
如您所见,我已经设法将“teladoc”写入输入框中,但现在我需要单击下拉菜单导航到不同的页面。
我无法获取下拉菜单的 ID 等。
当我尝试检查下拉菜单时,页面重新加载并且下拉菜单消失。
有人知道我该如何检查吗?我也尝试过 cypress explorer,但它也会预先重新加载。
【问题讨论】:
标签:
google-chrome
browser-console
【解决方案1】:
由于定位器不存在,您可以使用 Keypress。这个想法是当您输入并有建议的列表时,您可以先按向下键,然后再按回车键。这可能会导致测试不稳定,因为您不知道建议的项目需要多长时间才会出现。
cy.get(selector).type('{downarrow}{enter}')
您也可以直接使用contains。如果以这种方式工作,测试将不会不稳定。你可以玩弄超时值。
cy.contains('Teladoc Health Inc - United States', {timeout: 5000})
.should('be.visible')
.click()
【解决方案2】:
打开浏览器控制台并输入
setTimeout(() => { debugger; }, 5000)