Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

400
Views
Cypress, obtenga el índice de un elemento específico devuelto por cy.get()

Estoy escribiendo pruebas de Cypress para un sitio web que tiene una serie de citas, algunas de las cuales tienen un botón "Leer más" al final, que muestra el resto de la cita. si uso

 cy.get(".quote")

devuelve una lista de varias cotizaciones. Puedo usar

 cy.get(".quote").find(".read-more").first()

para encontrar la primera cita que tiene un botón Leer más, pero quiero saber cuál es el índice de ese elemento en la lista original de citas. Estoy probando para asegurarme de que el botón Leer más revele correctamente la cita completa, pero el botón desaparece (se elimina por completo del DOM, no solo se establece en visibilidad: ninguno) una vez que se hace clic en él, por lo que no puedo usar el mismo Comando para encontrar la cita de nuevo. Si pudiera acceder al elemento de esa cita, podría usar

 cy.get(".quote").eq(element)

para extraer esa cita específica nuevamente una vez que el botón Leer más desaparezca.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Puedes hacer algo como esto. Aplique each sobre las comillas, luego dentro de cada busque la cita que está buscando y luego obtenga el índice de esa cita.

 cy.get('.quote').each(($ele, index) => { if ($ele.text().includes('some part of the quote')) { cy.log(index) //logs the index } })
about 4 years ago · Juan Pablo Isaza Report

0

El botón Leer más revela correctamente la cita completa y luego el botón desaparece una vez que se hace clic

Suponiendo que el botón read more elimine el .read-more del elemento de cotización después de hacer clic, entonces puede hacer lo siguiente.

 cy.get('.quote') // returns all quotes .find('.read-more') // only quotes with 'read more' .each(($quote) => { cy.wrap($quote).find('.read-more-button').should('be.visible').click() //check read more button is visible, then click cy.wrap($quote).invoke('text').should('include.text',COMPLETE_QUOTE) // you can alter the should to however you best see to the text assertion cy.wrap($quote).find('.read-more-button').should('not.exist') // particular read more button does not exist in DOM })
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!