2016-11-20 5 views
0

Ich versuche, die Felder für Benutzername und Passwort auszufüllen und dann auf den Login-Button zu klicken, um mich mit Javascript in Instagram einzuloggen.Wie logge ich mich auf Instagram mit Javascript ein?

Was ich versucht habe (mit der richtigen Anmeldeinformationen):

Instagram Login Page

document.querySelector('[name=username]').value = "USERNAME"; 
document.querySelector('[name=password]').value = "PASSWORD"; 

var buttons = document.getElementsByTagName('button'); 
for (var i = 0; i < buttons.length; i++) { 
    if (buttons[i].innerText == 'Log in') { 
     buttons[i].click(); 
     break; 
    } 
} 

Problem

Auch wenn die Felder Benutzername und Passwort einen korrekten Benutzernamen und das Passwort enthalten, erhalte ich diese Fehler:

The username you entered doesn't belong to an account. Please check your username and try again.

Frage

Kann ich mich mit Javascript in Instagram einloggen? Wenn ja, wie kann es gemacht werden?

Antwort

0

Das Grundproblem besteht darin, dass Instagram mit React erstellt wird und in React die Benutzeroberfläche aus "Komponenten" -Objekten besteht, die das DOM bei Bedarf mit ihrem Status aktualisieren. Wenn der Wert des Textfelds über das DOM geändert wird, werden die Zustände der Komponenten nicht aktualisiert, sodass der React-Code von Instagram den neuen Wert nicht kennt. Wenn Sie auf die Schaltfläche klicken, wird der ursprüngliche Wert (leer) in der Anmeldeanforderung gesendet.

Wenn Sie das abziehen wollen, müssen Sie einen Weg finden, um React dazu zu bringen, den Komponentenstatus zu aktualisieren. Wenn ich Sie wäre, würde ich mit dem Auslösen eines synthetischen Ereignisses auf einem der Elemente herumspielen, um React glauben zu lassen, dass der Benutzer etwas eingegeben hat. Ich bin jedoch kein React-Experte, also kann ich nicht viel darüber hinaus helfen.

Verwandte Themen