hilfe bei Form click

  • Hallo Leute,

    ich schreib mir grad ein kleines Tool womit ich einen Button klicken muss.


    Code
    <form action="/system/reboot.lua" method="POST">
    <div id="btn_form_foot">
    <input name="sid" type="hidden" value="0992a8fcc1f7ba07">
    <button name="reboot" type="submit">Neu starten</button>
    </div>
    </form>

    wenn ich mit

    Code
    Local $oForm = _IEGetObjByName($oIE, "reboot")

    den Button abfrage, bricht immer genau an der Stelle Autoit ab.


    Mit IEFormElementGetObjByName krieg ich das nicht hin weil in der Form kein Name drin steht.
    Button ID geht auch nicht, fehlt auch drin.

    Welche Ideen habt ihr, wie ich das noch realisieren könnte?

    Danke schon mal vorab!

  • Hi - Da das Script ja offensichtlich danach einen Submit mit den Daten macht, würde ich dir empfehlen das mit WinHttp zu erledigen.
    Da gewisse Links hier nicht gepostet werden dürfen, poste ich dir einfach mal Diesen Link hier. Die Ergebnisse 1 & 2 einfach mal durchlesen, danach sollte dein Problem sich leicht erledigen lassen.

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • hi
    danke schon mal für die Antwort.

    So kompliziert brauche ich das eigentlich nicht, das müsste doch viel einfacher gehen.
    Ich will lediglich den Button in meiner Fritz.Box drücken können. bzw eine EXE die ich starte und die einfach mal meine FritzBox rebootet.
    http://192.168.178.1/?lp=reboot FRITZ!OS:06.51
    Mit der 5er OS war das kein problem aber seit der 6er läufts nicht mehr.
    Oder wie müsste der WinHttp Code dafür aussehen?

  • Hi,
    sag das doch gleich :)
    Klick mich ist ein bash Script, dass genau das tut, was du willst.
    Das Script kannst du händisch oder per AutoIt Starten, gib dann mal bitte ein Feedback ob das funktioniert (ich selbst nutze einen TP-Link Router, sonst hätte ichs getestet - Die Antworten sehen aber vielversprechend aus!)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • jetzt hab ich ein Problem
    Ich hab nur Windows und wie kann ich ohne Zusatztprogramme es im Windows starten lassen?
    Am besten noch wie bringe ich es ins autoit?
    Da ich den Code gerne erweitern möchte um bestimmte Bedinungen abzufragen bevor ich reboote.
    Leider fehlt mir da komplett das Know-How dazu.

  • Den Code, den du auf dieser Seite erhältst musst du einfach in einer ".bat" Datei speichern. Mehr Infos: BAT-Datei (Wikipedia)
    Diese kannst du dann per ShellExecute (oder Run) in AutoIt ausführen.
    Wenn du bestimmte Bedingungen abfragen willst, dann wird das ein wenig komplizierter (war auch deinem Startpost nicht zu entnehmen) - Was genau willst du abfragen?
    Grüße

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Xorianator hast du dir die Seite da auch mal angeguckt?
    Das ist ein Linux Code, der Läuft definitiv nicht aus einer CMD Datei.

    Da ich kein Linux habe und es auch nicht haben möchte such ich deshalb nach einer möglichkeit das aus Windows zu machen.

    Es kann ja sein dass man den Code in Windows mit irgendwelchen zusätzlichen Programmen ausführen kann, dann ist man aber gezwungen auf allen Systemen das Zusatzprogramm zu installieren.
    Ich will mir einfach ein Programm schreiben womit es ohne Zusatztsoftware geht.

    Doch krieg es nicht ganz hin den Button zu drücken.

    Vielleicht ist jemand noch da, der davon Ahnung hat und mir helfen kann?


  • wenn ich mit

    Code
    Local $oForm = _IEGetObjByName($oIE, "reboot")

    den Button abfrage, bricht immer genau an der Stelle Autoit ab.

    Hallo zusammen,
    ich habe herausgefunden dass ich den Fehler mit _IEGetObjByName nur auf meinem Windows Server 2012 Essentials bekomme.
    Auf meinem Win10 Notebook gehts ohne Probleme.

    Kennt jemand das Problem eventuell auch oder weiss einer womit das zusammenhängen könnte?