html:
<input type="checkbox" aria-checked="false" class="cloud-private" value="" data-spm-anchor-id="a800.io">Mi script Java: (Quiero hacer clic en esta casilla de verificación si no está marcada, pero esto no funciona)
var z = document.getElementsByClassName('cloud-private'); if (z[0].aria-checked=='false'){ z[0].click(); }No debería usar aria-checked aquí de esta manera. Debería estar usando el atributo checked como se muestra en la especificación de la casilla de verificación en MDN .
let cloudPrivateCbxs = document.querySelectorAll('.cloud-private'); if (cloudPrivateCbxs && !cloudPrivateCbxs[0].checked) { cloudPrivateCbxs[0].click(); } Aquí usé nombres de variables útiles (nunca use nombres de variables de una sola letra, excepto para contadores simples como los for los bucles), usé querySelectorAll en lugar de getElementsByClassName , luego primero verifico si la variable contiene algo, luego simplemente checked el atributo marcado para ver si devuelve falso. ¡Está devolviendo un booleano para que pueda usar el operador lógico NOT ! en lugar de verificar directamente si es igual a falso.
Puede usar querySelector para encontrar el elemento con esa clase y ese atributo aria-checked. Luego haz clic en él. Solo asegúrese de escribir las cosas correctamente (aria, no área, por ejemplo).
const selector = '.cloud-private[aria-checked="false"]'; const z = document.querySelector(selector); // If the element exists, check it z && z.click(); <input type="checkbox" aria-checked="false" class="cloud-private">