为什么赛普拉斯无法确定我们是否提供完整的班级名称

时间:2019-10-26 07:24:41

标签: css-selectors jquery-selectors cypress

例如,如果我给出完整的类名:title-text-panel-container class-about-benefits > ul cypress无法识别该元素,并抛出以下错误 C ypressError:超时,重试:预期找到元素:“。title-text-panel-container class-about-benefits> ul”,但从未找到。 为什么赛普拉斯无法确定我们是否在测试中给出full class name?但这通过了测试,因为我们按照测试2给出了类名。

测试1: 失败

cy.get('.title-text-panel-container class-about-benefits > ul').find('li').its('length').should('be.gte', 1);

测试:2次通过

cy.get('.title-text-panel-container > ul').find('li').its('length').should('be.gte', 1);

enter image description here

2 个答案:

答案 0 :(得分:1)

.classA .classB选择器意味着classBclassA的后代。如果要为单个DOM元素指定多个类(以提高特异性),则不得在它们之间添加空格:.classA.classB

您的情况是:

cy.get('.title-text-panel-container.class-about-benefits > ul').find('li').its('length').should('be.gte', 1);

答案 1 :(得分:-1)

尝试     cy.get('.title-text-panel-container .class-about-benefits > ul')