Con este código, entro en la clase "v1Nh3 kIKUG _bz0w", así que básicamente first_pic.className es igual a "v1Nh3 kIKUG _bz0w". Obtengo el mismo resultado usando la línea que he comentado. Pero ahora, ¿cómo puedo usar esto para obtener el enlace href (lo marqué en azul en la imagen a continuación) e imprimirlo con window.alert ?
var x = document.getElementsByClassName("SCxLW o64aR ")[0].children; var x_in = x[0].children; var x_in_in = x_in[3].children; //window.alert(document.querySelector("main.SCxLW.o64aR article div div div div").className); var first_pic = x_in_in[0].children[0].children[0].children[0].children[0]; window.alert(first_pic.href);Dado que no puede confiar en las clases cambiantes, debe concentrarse en los nombres de las etiquetas.
Yo intentaría esto:
let link = document.querySelector("main article:nth-child(1) a") console.log(link.href)EDITAR
Otra cosa para intentar sería centrarse en algo único y "estable"... como el atributo tabindex :
let link = document.querySelector("[tabindex='0']") console.log(link.href)Otra EDICIÓN (respuesta al comentario OP bajo su pregunta)
Si alguien tiene una solución funcional que no usa querySelector sino otra cosa...
Si el enlace es el primero del article , esto funcionaría:
let article = document.getElementsByTagName("article")[0] let link = article.getElementsByTagName("a")[0] console.log(link.href)