Warum wird der Button click erst am Ende ausgeführt?
Ich will einen kleinen Bot schreiben, der Infos von einer bestimmten Website ausließt und dann dementsprechend Entscheidungen triff.
Um an die Informationen zu kommen, die ich haben will, muss erst ein Button gedrückt werden. Also hab ich mir das entsprechende Element raus gesucht und ein .click() hinten angehängt und damit waren die Infos auslesbar. Wenn ich diesen Befehl aber in ein "längeres" Script einbaue wir der click erst am Ende vom Programm ausgeführt. Zumindest ändert sich auf der Website erst am Ende vom Programm etwas. Was muss ich tun damit der click auch wirklich direkt ausgeführt wird?
3 Antworten
Hallo.
Der Click wird vermutlich direkt ausgeführt, allerdings läuft das ganze Script durch bevor das Handling mit der Seite abgeschlossen ist. Schließlich dauert das Senden des Clicks als die Reaktion auf der Seite eine gewisse Zeit. Deutlich länger als das Script offensichtlich.
Von daher könntest du nach dem Click erst mal eine Pause einbauen. Auf professionellere Ebene würde man vermutlich nach Möglichkeiten suchen zu scannen, ob die Veränderungen auf der Seite bereits eingetreten sind.
Aber das ist ohne den Code natürlich einfach nur eine Vermutung. Weitere Hilfe gibt es für Scalper von meiner Seite aus allerdings nicht, da es moralisch äußerst verwerflich ist.
Ich habe es sowohl mit einer Sleep Funktion versucht als auch mit dem wiederholten Überprüfen ob die entsprechende Änderung eingetreten ist.
Denk nicht gleich schlecht von mir. Ich versuche mich nur an einem Tinderbot um von vornherein unpassende Partner auszusortieren. Wenn du aber meinst, dass das allgemein eine Gefahr darstellt und du deswegen keine weiteren Informationen geben willst, weil man das auch anderweitig verwenden kann, kann ich deine Bedenken gut verstehen.
Events werden in JavaScript asynchron abgearbeitet. Um also sicherzustellen, dass Code erst bei/nach dem Auslösen des Events ausgeführt wird, solltest du mit einem Event Handler oder einem Promise arbeiten.
Woher weißt du dass der Klick erst nach Beendigung gesendet wird.
Vermutlich wird dein Script parallel durchgeführt
Aber ohne zu wissen was du tatsächlich treibst ist alles nur Vermutung