skip to Main Content

I have three similar div tags as shown below:

<div data-test="someId" style="position: fixed; visibility: hidden;">more tags</div>
<div data-test="someId" style="position: fixed; visibility: hidden;">more tags</div>
<div data-test="someId" style="position: fixed;">more tags</div>

Note: here data-test id is same for all three.

All I want is the tag that is not hidden i.e third one

I’ve tried cy.get('[data-test=someId]').should('not.have.css', 'visibility') but it’s not working.

2

Answers


  1. I see that it’s tagged with jQuery so here is one way you can do it:

    Jquery: How to check if the element has certain css class/style

    Login or Signup to reply.
  2. You can use the :visible jQuery selector. Beware of which route you go with cypress retryability.

    // get only visible element(s)
    cy.get('.element:visible')
      // retry cy.get('.element:visible')
      .should('be.visible')
    
    // get element(s)
    cy.get('.element')
      // filter only visible element(s)
      .filter(':visible')
      // retry .filter(':visible')
      .should('be.visible')
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search