Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

165
Vistas
console.log() no inicia sesión en la consola dentro del intervalo

He revisado numerosas publicaciones y parece que no puedo encontrar la respuesta a mi problema.

Tengo una expresión console.log en mi intervalo. Cuando el código se ejecuta en la consola, se ejecuta sin problemas, pero se niega a consolar. Registrar mi cadena notificando al usuario del lado del cliente que el script está funcionando.

Aquí está mi código con notas:

  • inicializar me gusta a 0
  • establecer intervalo y segundos (en ms)
  • definir como botón
  • definir el botón de la siguiente imagen
  • si hay un botón Me gusta, haz clic en el botón Me gusta
  • agregue 1 a Me gusta e inicie sesión para consolar la cadena
  • haga clic en la flecha para ir a la nueva foto
 let likes = 0; setInterval(() => { const likeButton = document.querySelector('svg[aria-label="Like"]'); const nextButton = document.querySelector('svg[aria-label="Next"]'); if (likeButton) { likeButton.parentNode.parentElement.click() likes++; console.log(`You've liked ${likes} post(s)`); } nextButton.parentElement.parentNode.click(); }, 20000);
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Desde la inspect source de algunas publicaciones que he visto en Instagram, parece que hay dos estados en el botón Me gusta.

  • <svg aria-label="Like" /> cuando la publicación aún no tiene Me gusta.
  • <svg aria-label="Unlike" /> cuando ya te gustó la publicación.

El problema es que const likeButton = document.querySelector('svg[aria-label="Like"]'); está devolviendo el elemento completo como un objeto, y no es un valor verdadero/falso, por lo que if (likeButton) { nunca será verdadero, pero como señaló @Unmitigated, puede ser "verdadero". Para determinar si se ha hecho clic en el botón y para eliminar cualquier "margen de maniobra real", debe observar el atributo en el elemento likeButton . Puede usar getAttribute() para esto.

 let likes = 0; setInterval(() => { const likeButton = document.querySelector('svg[aria-label="Like"]'); const nextButton = document.querySelector('svg[aria-label="Next"]'); if (likeButton.getAttribute("aria-label") === "Like")) { likeButton.parentNode.parentElement.click(); likes++; console.log(`You've liked ${likes} post(s)`); } nextButton.parentElement.parentNode.click(); }, 20000);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda