如何在Cypress中获取隐藏元素的HTML?

时间:2019-01-17 02:16:04

标签: cypress

我想在赛普拉斯中获取引用的页面上有一个隐藏的div,因此我可以获取其文本并对其进行断言。据我从API文档得知,我没有任何方法可以做到这一点。您可以使用{ force : true }选项来迫使Cypress单击它认为不可行的内容,但是没有选择项可以迫使Cypress查找对于用户不可见但位于用户界面中的元素。 dom。

该元素通过display: none样式隐藏在dom上。这只是赛普拉斯会考虑将元素“隐藏”而不找到它的众多原因之一。 https://docs.cypress.io/guides/core-concepts/interacting-with-elements.html#Visibility

我已经阅读了API文档,并主要尝试了cypress.get()

3 个答案:

答案 0 :(得分:1)

当我搜索隐藏的东西时,我总是只将.should('not.be.visible')添加到搜索中,然后它就会把它捡起来。

不确定是否适合您,但希望对您有所帮助。

答案 1 :(得分:1)

我在html中创建了一个隐藏的div,下面的测试在Cypress中成功运行。 css #hiddenDiv1{ display:none; }

中该div的display属性
describe('Hidden text', function() {
  it.only('Test for the hidden text', function() {
   cy.visit('url goes here')
   cy.get('#hiddenDiv1').invoke('text')
      .then((text)=>{
        const divTxt = text;
        expect(divTxt).to.contain('Life is Beautiful!');
      })

  })
})

答案 2 :(得分:0)

这是解决您问题的简单方法。

cy.get('div[class="class name"]').contains('text').click()