赛普拉斯级联以查找第二个元素

时间:2020-10-23 13:04:01

标签: javascript css concatenation cypress

在以下情况下可以有人帮助吗?

找到具有以下css选择器的元素(有一个图表列表,其中只有一个图表在其顶部带有“当前日期”文本的标记)。

'div[id*="view-panel"] div.bar_chart g.bar_chart__now > text'

要基于该元素,找到另一个元素(该元素位于找到的图表上-它的底部),该元素显示日期名称(即“星期五”)。尝试使用以下代码:

cy.get('div[id*="view-panel"] div.bar_chart g.bar_chart__now > text').as('currentDay');
cy.get('@ccurrentDay').find('..').find('..').find('g.bar_chart__xaxis text');

第二个元素的整个css选择器(对于上面的第二行代码)如下所示:

'div[id*="view-panel"] div.bar_chart g.bar_chart__xaxis text'

我试图实现的是在找到第一个元素之后,向后退两步,找到图表底部的日期,但是我唯一得到的是一个错误:

CypressError: Timed out retrying: Expected to find element: ‘…’, but never found it.

在上述尝试将查找元素连接在一起时,我在做什么错误?预先谢谢你

1 个答案:

答案 0 :(得分:1)

您应该使用Within command

cy.get('div[id*="view-panel"] div.bar_chart g.bar_chart__now > text')
.within(()=>{
    cy.get('g.bar_chart__xaxis text')
})