Tengo un elemento que puedo localizar:
cy.get('[foo="bar"]')
Ahora estoy tratando de ubicar todos los elementos a
dentro de dicho elemento:
cy.get('[foo="bar"] a')
esto debería darme todos los elementos que tienen el padre (o el abuelo foo, y es <a>
).
Sin embargo, esto solo parece seleccionar un elemento (que es padre foo y a), no todos los elementos, ya que solo obtengo un href guardado.
Esto es lo que uso para guardar los resultados:
cy.get('[foo="bar"]').invoke('attr', 'href') .then((hrefs) => { cy.writeFile('./cypress/downloads/results.txt', hrefs) });
¿Cómo selecciono todos los hijos, que son <a>
, de [foo="bar"]
y luego cómo extraigo todos sus atributos href?
Creo que el paso .invoke('attr', 'href')
solo devuelve el primero, vea .attr()
Obtenga el valor de un atributo para el primer elemento en el conjunto de elementos coincidentes
Así que tal vez
cy.get('[foo="bar"] a') .then($els => { const hrefs = [...$els].map(el => el.getAttribute('href')) cy.writeFile('./cypress/downloads/results.txt', hrefs) })