Quiero localizar este elemento:
<tr class=" category-2 saleproductname " id="21" xpath="1"> <input class="check-box" id="BillInfo_4__isSelected" type="checkbox" value="true" xpath="1">Estoy tratando de ubicar la identificación, pero la identificación es dinámica, este elemento en particular puede tener id="BillInfo_0__isSelected, a veces id="BillInfo_1__isSelected y tengo que seguir cambiándolos en el código. Hay alguna solución para esto? Aquí solo el id = 21 es único pero no puede usar esto también. Estoy tratando de usar id ya que la clase es común y también ubica otros elementos.
Puede utilizar los selectores de atributos para encontrar un elemento que:
[class^=""][class$=""] const element = document.querySelector('[id^="BillInfo_"][id$="__isSelected"]'); console.log(element); <div id="BillInfo_4__isSelected"></div>Dado que id="21" es único, consulta eso y usa .find() (que encontrará dentro del padre) para acceder a la entrada
cy.get('tr#21') .find('input')En caso de que haya varias entradas en la misma fila
cy.get('tr#21') .children() .eq(0) // first child element Si id="21" cambia por compilación, sería una buena idea agregar un atributo data-cy
<input class="check-box" id="BillInfo_4__isSelected" data-cy="my-input" ... /> cy.get('[data-cy="my-input"]')