2017-10-22 3 views
-3

Hier ist eine Webseite: Jetzt enthält diese Webseite rund 1000 Posts von diesem Benutzer, und ich möchte sie alle auf einmal mögen. Jeder Post enthält eine ähnliche Schaltfläche. Jetzt möchte ich ein Skript (Bot-Typ), die alle ähnlichen Schaltflächen auf einmal klicken würde. und alle von ihnen werden registriert (akzeptiert). Bitte sagen Sie mir, wo und wie Sie das Skript einbetten. Vielen Dank.JavaScript- Klicken Sie auf eine bestimmte Schaltfläche auf einer Webseite

UPDATE: Dies ist der HTML-Code für die Schaltfläche:

<div> 
       <span class="like_content post_zy2v7yjilw_like"> 
        <a class="like-post" data-remote="true" data-method="post" rel="nofollow noopener" href="/posts/zy2v7yjilw/like"> 
         <span class="heart"></span> 
</a> 
        <a class="likes-count" rel="nofollow noopener" data-remote="true" href="/posts/zy2v7yjilw/likes"> 
        46 
</a>    </span> 

       <span class="comment-icon"></span> 
       <span class="comment-count">1</span> 

        <span class="reposts-icon"></span> 
        <a class="comment-count" rel="nofollow noopener" data-remote="true" href="/posts/zy2v7yjilw/reposts"> 
        4 
</a>    </div> 
+0

Anstatt zu versuchen, programmgesteuert auf alle Schaltflächen klicken - es wäre besser, die Funktion zu finden, die durch Klicken auf die Schaltfläche aufgerufen wird (vielleicht erhält es die ID aus der Schaltfläche und aktualisiert eine Datenbank - oder etwas ähnliches) und programmgesteuert für diese Funktion aufrufen die ID des beteiligten Benutzers. Wenn ein Knopfklick die Funktion "likePost (this.id)" auslöst, können Sie dasselbe tun, ohne den Klick auszulösen. – gavgrif

+0

@ gavgrif wo soll ich nach dieser Funktion suchen. Würde das Element inspizieren? –

+0

@gavgrif Ich habe die Frage bearbeitet, bitte schauen Sie. –

Antwort

0

Sie können diese

$(".like-post").trigger("click");

Das Hauptproblem wird verwenden hinzufügen, dass es Klick auslösen nur für Elemente, die tatsächlich auf der Seite verfügbar sind. Ich meine, dass die Posts, die noch nicht geladen sind, keine Auswirkung auf diesen Code haben werden.

So, entweder Sie können alle Beiträge zuerst manuell durch Scrollen laden, oder Sie müssen Skript für das auch schreiben.

+0

Ich werde zuerst alle Elemente laden. Wo sollte ich diese Zeile hinzufügen? Danke für die Hilfe. –

+0

Auf Chrom, Rechtsklick -> Inspizieren Element. Klicken Sie auf die Registerkarte "Konsole". Fügen Sie diesen Code ein und drücken Sie die Eingabetaste. –

+0

Er müsste injizieren hat die Seite nicht jquery. –

0

Verwenden click() Funktion jQuery.

$(element).click(); 

Aber möglicherweise missbrauchen eine Funktion wie diese ist illegal. Im Moment habe ich keinen Zugriff auf Ihre DOM auf mobilen, also können Sie Ihre eigene Abfrage statt element

Verwandte Themen