En la imagen 'IU', necesito seleccionar el segundo botón 'Configurar' en la página.
He probado muchas combinaciones diferentes para tratar de seleccionar este elemento, pero no he tenido suerte. He visto algunas publicaciones relacionadas, pero la mayoría habla de tener 1 elemento principal y 1 o 2 elementos secundarios. En este caso necesito seguir este camino: li 2 /div 2 /div/a. No estoy seguro de cómo unir eso.
Desafortunadamente, Xpath no es una opción ya que la identificación cambia de una sesión a otra.
Para contexto adicional, las otras opciones en ul (Google Auth y Voice Auth) son idénticas a las de SMS li.
Idealmente, me gustaría hacer algo como esto, pero siento que estoy muy lejos:
selector: 'li[data-se$="SMS"] + a[class$="button link-button"]'¿Por qué no seleccionar por el atributo de datos?
Si necesita "hacer clic" en el botón, deberá decidir cuándo sucederá. Por ejemplo, podría hacerlo en la carga de la página:
const sms = document.querySelector("[data-se='SMS']"); const simulated_button_click = sms.getElementsByClassName('link-button')[0]; <body onload="simulated_button_click.click()"> ... <div class="enroll-factor-list"> <ul class="list-content"> <li data-se="GOOGLE_AUTH" class="enroll-factor-row clearfix"> <div class="enroll-factor-icon-container"> <div class="enroll-factor-button"> <a class="button link-button" href="#">Setup</a> </div> </div> </li> <li data-se="SMS" class="enroll-factor-row clearfix"> <div class="enroll-factor-icon-container"> <div class="enroll-factor-button"> <a class="button link-button" href="#">Setup</a> </div> </div> </li> </ul> </div> ... </body>Pude seleccionar el botón con el uso del combinador descendiente.
https://www.w3.org/TR/selectors-3/#descendant-combinators
selector: 'li[data-se="SMS"] * a[data-se$="button"]'