Estás ejecutando el código JavaScript antes de que se carguen los elementos HTML; por eso no funciona cuando lo colocas directamente y sí cuando usas la consola, porque ya cargó el DOM.
Apóyate utilizando el evento
DOMContentLoaded
:
Código Javascript
:
Ver originaldocument.addEventListener("DOMContentLoaded", function(){
//Acá ejecutas tu código
}, false);