Tengo un documento HTML con las siguientes etiquetas con múltiples ocurrencias
<div _ngcontent-mjy-c67="" uipath_custom_id="13"> <div _ngcontent-mjy-c67="" class="col-xs-12 col-sm-6 col-md-4 col-lg-3" uipath_custom_id="12"> <button _ngcontent-mjy-c67="" role="button" data-toggle="tooltip" data-placement="top" class="btn btn-default flag-item" title data-original-title="Allowed to log into the Main Tools." uipath_custom_id="11"> <span _ngcontent-mjy-c67="" class="glyphicon glyphicon-ok"> ::before:: </span> <!----> "Admin" </button> <!----> </div> <!----> </div>
Hay un total de 112 botones presentes en el documento con
class="btn btn-default flag-item"
Quiero seleccionar un botón en particular con
data-original-title="Allowed to log into the Main Tools."
usando javascript y haga clic en el botón.
Intenté usar querySelectorAll pero no pude encontrar una solución para hacerlo.
document.querySelectorAll('button.btn.btn-default.flag-item')
El código anterior devuelve todos los 112 elementos, pero cómo usar el selector para seleccionar solo el botón con
data-original-title="Allowed to log into the Main Tools."
¿atributo?
También he intentado usar
document.getElementsByClassName('btn btn-default flag-item')
que también devuelve 112 elementos pero no puede continuar usando querySelectorAll en eso.
Nota: necesito llamar a este script desde UiPath, por lo que se agradece mucho el script de una sola línea.
Usando la copia JS Path en Chrome encontré
document.querySelector("body > app-root > app-shell > app-dashboard > div > div.dashboard-widgets > div.app-privileges-widget.col-md-6.widget-new-line > app-widget-container > div > div.collapse.in > div > app-privileges-widget > app-privileges-grid > div > div:nth-child(2) > div:nth-child(3) > div > button").click()
y funciona perfectamente, pero no sé si esta ruta siempre es correcta ya que la página que estoy tratando de automatizar es una página dinámica y los elementos se crean dinámicamente. Entonces, si esta ruta funciona para un determinado usuario, es posible que esta ruta no sea válida para otros usuarios.
Por favor ayuda.
Usando el selector de atributos :
console.dir(document.querySelector('[data-original-title="Allowed to log into the Main Tools."]'))
<div _ngcontent-mjy-c67="" uipath_custom_id="13"> <div _ngcontent-mjy-c67="" class="col-xs-12 col-sm-6 col-md-4 col-lg-3" uipath_custom_id="12"> <button _ngcontent-mjy-c67="" role="button" data-toggle="tooltip" data-placement="top" class="btn btn-default flag-item" title data-original-title="Allowed to log into the Main Tools." uipath_custom_id="11"> <span _ngcontent-mjy-c67="" class="glyphicon glyphicon-ok"> ::before:: </span> <!----> "Admin" </button> <!----> </div> <!----> </div>