Button automatisch anklicken

  • Hallo,


    also ich versuche seit einigen Tagen ein Script zu schreiben welche alle Bestellungen bei Uber fleet annehmen kann.


    Background: Bei Uber gibt es eine Dispatch Website bei der man Aufträge ganz einfach an Mitarbeiter verteilen kann.

    Diese Seite sieht wie folgt aus:


    Der Button ist wie Ihr sehen könnt "disabled". Bis ein Auftrag reinkommt. Dann sieht es nämlich so aus:

    Bevor der Button blau wird (enabled), sieht das dazugehörige HTML Tag so aus:

    Jetzt hab ich mir einen RaspberryPi 4 geholt um einfach nur alle Aufträge annehmen zu können, indem das Script alle 200 ms ein Mal auf den Button klickt.



    ich hab den folgenden Code rausgearbeitet, leider bekomme ich dabei aber die Fehlermeldung "Uncaught TypeError: btn.hasAttribute is not a function"


    var btn = document.getElementsByClassName('#jss53');

    var isDa = btn.hasAttribute('disabled');

    setInterval(function(){



    if (isDa=false) {

    window.alert("enabled");

    btn.click();

    }

    else{

    window.alert("disabled")

    }

    },200);



    Kennt sich jemand in diesem Fall aus und kann mir tipps geben?



    lg R

  • Vielleicht:


    var IsDa = btn.disabled;


    var IsDa = document.getElementsByClassName('#jss53').disabled;


    wobei man auch versuchen könnte die Raute # wegzulassen


    könnte hinauen :)

  • Nach Langem hin und her hab ich den code hinbekommen..


    var bt1=document.getElementsByTagName("BUTTON")[0];

    bt1.id='clicker'; //nur für Testzwecke

    setInterval(function f1(){


    if (bt1.disabled==false) {

    window.alert('ok');

    bt1.click();

    }

    else{

    window.alert('disabled')

    }

    },1000);



    Ich wollte jetzt fragen wie ich ein Script draus mache welches eine Website aufruft und dann den Button klickt. Also der obere Code funktioniert. Der Code unten öffnet ein neues Tab wenn ich auf das .html file klicke, aber danach macht er nicht den restlichen Code. Hab gelesen die onload Methode führt Code aus wenn die Seite geladen ist.. klappt aber irgendwie nicht




    <!DOCTYPE HTML>

    <html>

    <title>Uber Dispatch</title>

    <body>

    <script>


    function wopen() {

    var w1 = window.location.href="https://vsdispatch.uber.com/";




    var bt1=document.getElementsByTagName("BUTTON")[0];

    bt1.id='clicker';

    setInterval(function f1(){


    if (bt1.disabled==false) {

    window.alert('ok');

    bt1.click();

    }

    else{

    window.alert('disabled')

    }

    },1000);



    }



    window.onload = wopen;



    </script>

    </body>

    </html>

  • Ich glaube nicht dass das so funktioniert.


    Wenn die neue Seite geladen wird, ist das JavaScript von der vorherigen "vergessen".


    Das Script muss ausserhalb der Seite sein. Ein moeglicher Ansatz waere Selenium.

  • Ich glaube nicht dass das so funktioniert.


    Wenn die neue Seite geladen wird, ist das JavaScript von der vorherigen "vergessen".


    Das Script muss ausserhalb der Seite sein. Ein moeglicher Ansatz waere Selenium.

    Selenium? Ist das nicht eine IDE? wie soll mir eine IDE da helfen?



    Oder per Browser-Plugin in die Seite eingefügt.

    Ich finde keine Plugins die da passen würden... Kannst du mir bitte eins empfehlen, meine Suche verläuft im Sand

  • Websuche nach "<Browser> plugin inject javascript" (oder selbst schreiben).

    das sieht sehr interessant aus.. Es tut zwar nicht was es soll zurzeit, aber ein ziemlich guter Ansatz! DANKE!

  • Es wirft mir die Fehlermeldung "Content Security Policy: Die Einstellungen der Seite haben das Laden einer Ressource auf inline blockiert ("script-src")."


    kann es sein das die Website injections blockiert?

  • Ich hab gedacht er benutzt die <tampermonkey> Erweiterung für Firefox.

    Tampermonky logt sich automatisch im Router ein wenn die Adress 192.168.1.1 aufgrufen wird. Man kann da die Html-Seite angeben auf die tampermonky reagieren soll. So ein Zeitinvervall hab ich nie versucht und ob es geht??? in tampermonkey :)

  • So sieht es aus, für den Router login:


    geändert werden muss 192.168.1.1 mit der url der Seite.

    Und den Javascript code einfügen, soll stelle ich es mir vor in tampermonkey.

    Das void(0) hat seinen Grund, den kann ich nicht mehr benennen.

    Die Id's mittels Firefox "Web Developer" unten ermittelt.

    Das logt sich im Router ein sobald 192.168.1.1 eingeben wird.