Fritz!box mit AutoIt zurücksetzen ??? Hilfe ???

  • Hallo zusammen,

    durch Zufall bin ich vor ein paar Tagen auf AutoIt gestoßen. Nach ein wenig Einlesen bin ich davon überzeugt, dass es genau das Tool ist, was mir schon lange abgeht.

    ... ich bin also totaler Neuling im AutoIt-Programieren ...

    Dann habe ich mich, nach einigen Test-Scripts, an mein erstes produktives Script gemacht Aber trotz tagelanger Reschersche im engl. und auch hier im deutschen Forum, Studium der Hilfe und vielen vielen Scripts, komme ich einfach nicht weiter. X( ?( :D

    Zu meinem Problem:

    IE7 auf Vista Ultimate - UAC ist aktiviert, FRITZ!Box Fon WLAN 7050, Firmware-Version 14.04.33 - mit Kennwortabfrage und im IE7 den "Vertrauenswürdige Sites" zugeordnet.

    Dank der vielen Tipps hier im Forum, schaffe ich es mit AutoIt das Konfigurations-Interface der FBF im IE7 zu starten, die Kennwort-Abfrage zu bedienen und bis zur 2. Seite (Einstellungen zu kommen. Danach geht es einfach nicht weiter, denn ich schaffe es einfach nicht, die notwendigen Links und Schaltflächen mit AutoIt zu betätigen.

    Hier mein Script, soweit wie ich gekommen bin:


    Spoiler anzeigen
    [autoit]


    ; IE_Test_02.au3
    #AutoIt3Wrapper_run_debug_mode=Y
    #include <ie.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #region Variablen
    Global $URL = http://192.168.0.254/
    Global $oIE = 0
    Global $_Sendkeys = 0
    #endregion Variablen

    [/autoit] [autoit][/autoit] [autoit]

    $oIE = _IECreate ( $URL )
    _IELoadWait ($oIE, 2000, 5000)
    ; Beim Laden der Seite wir 2 mal "Fertig" in der
    ;Status-Zeile angezeigt, deshalb ...
    _IELoadWait ($oIE, 500, 5000)

    [/autoit] [autoit][/autoit] [autoit]

    ; das PW zu einlocken
    $_Sendkeys = "password"

    [/autoit] [autoit][/autoit] [autoit]

    Send($_Sendkeys)
    Sleep( 500 )
    Send("{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    ; damit lande ich auf der 1. Einstellungs-Seite.

    [/autoit] [autoit][/autoit] [autoit]

    _IELoadWait ($oIE, 2000, 5000)
    _IELoadWait ($oIE, 500, 5000)

    [/autoit] [autoit][/autoit] [autoit]

    Send("{TAB}")
    Sleep( 500 )
    Send("{TAB 7}")
    Send("{Enter}")

    [/autoit] [autoit][/autoit] [autoit]

    _IELoadWait ($oIE, 2000, 5000)
    _IELoadWait ($oIE, 500, 5000)

    [/autoit] [autoit][/autoit] [autoit]

    ; Jetzt bin ich auf der Seite: Einstellungen

    [/autoit]


    ... und nun stehe ich da, in meiner kurzen Hose ... 

    Jetzt müste ich auf auf den Link: "System" klicken, aber nichts funktioniert. Der Link zeigt auf:

    Code
    javascript:jslGoTo('system','syslog')

    Ich habe div. Funktionen aus IE.au3 ausprobiert, aber nichts funktioniert .... Hilfe

  • hi! erstmal wilkommen bei autoit ;)
    ich weiß ehrlich gesagt gar nicht, wie man mit den _IE-Funktionen nen javaycript-Link aufruft, aber ich würde mir an deiner stelle auf jeden fall mal den quelltext des konfigurations-interfaces anzuschauen (im IE unter >ansicht >quelltext anzeigen oder so)
    dort müsste bei dem link auch ein name=' ' oder id=' ' o.ä. stehen, was du dann mit einer der _IE-FUnktionen ansprechen kannst.

    hoffe das hilft ersma
    viel spass

    • Offizieller Beitrag

    Also die Einwahl machst du zu kompliziert :).
    Ich habe hier das Bsp. anhand der FritzBox 7141, aber die Menüoberfläche ist bei den FB eigentlich gleich:

    Spoiler anzeigen
    [autoit]

    #include <ie.au3>
    Global $pass = 'PASSWORT'
    Global $oIE = _IECreate('http://fritz.box/')
    _WaitMenu()
    Global $oFrame = _IEFrameGetCollection ($oIE, 0)
    Global $oForm = _IEFormGetCollection($oFrame, 1) ; Referenz auf "uiViewForm"
    Global $oPass = _IEFormElementGetCollection($oForm, 0) ; Referenz auf PW-Eingabe
    Global $oBtnLogin = _IEFormElementGetCollection($oForm, 1) ; Referenz auf 'Anmelden' Button

    [/autoit] [autoit][/autoit] [autoit]

    _IEFormElementSetValue($oPass, $pass)
    _IEAction($oBtnLogin, 'click')
    _WaitMenu()

    [/autoit] [autoit][/autoit] [autoit]

    Func _WaitMenu()
    $n = 0
    Do
    Sleep(200)
    $txt = _IEPropertyGet($oIE, "statustext")
    If $txt = 'Fertig' Then $n += 1
    Until $n = 2
    Sleep(1500)
    EndFunc

    [/autoit]


    Jetzt bist du auf der Menüseite, dort werden zwar Java-Scripte aufgerufen - aber auf den ersten Blick würde ich sagen das ist Tabellenformat. Ich schau es mir mal näher an. Wenn ich Zugriff finde poste ich es.

    Edit: Da der IE bei jeder Einwahl unterschiedliches Zeitverhalten hat, habe ich mal noch eine Warteroutine eingefügt, damit das Objekt auch sicher geladen ist. Allein die Statusmeldung 'Fertig' reicht dafür leider nicht, da Fertig nür für die zu ladenden Komponenten gilt. Evtl. auszuführende Java-Scripte werden anscheinend nicht berücksichtigt.

  • Was genau hast du denn vor mit der FritzBOX?

    Vielleicht, kann dir ein externes Tool weiterhelfen ;)
    Ich vermute das du mit zurücksetzen, eventuell einen einfachen Reconnect meinst...
    Wenn das der Fall ist, kannst du meinen Dateianhang nehmen, ein beispiel wie es funktioniert, ist in der "reconnect.bat"...

    Grüßle AlkoholiX

  • Hallo darksideofsanta,

    Zitat

    hi! erstmal wilkommen bei autoit


    Danke, bin gerne hier ... Du warst der Erste, der hier mit mir "getedet" hat. :)


    Zitat

    ich weiß ehrlich gesagt gar nicht, wie man mit den _IE-Funktionen nen javaycript-Link aufruft ...


    Meine Suche, wie das geht, war leider auch ergebnislos. Weiss da jemand, wie man das mit AutoIT macht ???

    :?: :?: :?:

  • Hallo BugFix,

    Zitat von BugFix

    Also die Einwahl machst du zu kompliziert :).


    Stimmt, wenn ich Dein Script so sehe, genauso habe ich es mir auch vorgestellt, bin halt (noch) eit totaler Laie was AutoIT betrifft. ;)

    Zitat von BugFix

    ... anhand der FritzBox 7141, aber die Menüoberfläche ist bei den FB eigentlich gleich:


    Stimmt "eigentlich", kommt allerdings auf die Firmware-Version an.

    Zitat von BugFix

    Jetzt bist du auf der Menüseite, dort werden zwar Java-Scripte aufgerufen - aber auf den ersten Blick würde ich sagen das ist Tabellenformat. ..


    Ja, es funktioniert, ich bin auf der 1. Einstellungs-Seite/Menüseite, was ich allerdings nicht kapiere, da der Quell-Code der Seite es für mich nicht hergibt.

    Wenn ich im IE7 über das Menü: 'Ansicht' - 'Quelltext' klicke bekomme ich folgendes:

    Spoiler anzeigen


    Darin kann ich absolut Nichts finden was, für mich, mit dem Login zu tun hat

    Klicke ich allerdings mit der rechten Maus-Taste in den Text: 'Die Benutzeroberfläche der FRITZ!Box wurde mit einem Kennwort geschützt. ...' und dann auf die Kontext-Menü-Option: 'Quelltext anzeigen' bekomme ich folgendes angezeigt:

    Spoiler anzeigen


    ... womit ich allerding auch nichts anfangen kann, da ich leider keine Ahnung von HTML-Programierung habe. Erst recht blicke ich nicht durch wie ich irgendwelche Objekte mit AutoIt ansprechen und bedienen könnte.

    Wenn ich das gleiche auf der 1. Einstellungs/Menü-Seite mache, egal wo ich mit der rechten Maustaste hinklicke, wird mir folgendes angezeigt:

    Spoiler anzeigen
    HTML
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"	"http://www.w3.org/TR/html4/loose.dtd">
    <html>


    ... und da weiss ich erst recht nicht weiter :?::?::?:

    Zitat von BugFix

    Edit: Da der IE bei jeder Einwahl unterschiedliches Zeitverhalten hat, habe ich mal noch eine Warteroutine eingefügt, damit das Objekt auch sicher geladen ist. Allein die Statusmeldung 'Fertig' reicht dafür leider nicht, da Fertig nür für die zu ladenden Komponenten gilt. Evtl. auszuführende Java-Scripte werden anscheinend nicht berücksichtigt.

    Das ist mir auch ausgefallen ...

    Zitat von BugFix

    ... dort werden zwar Java-Scripte aufgerufen - aber auf den ersten Blick würde ich sagen das ist Tabellenformat. Ich schau es mir mal näher an. Wenn ich Zugriff finde poste ich es.


    Ja, bitte, bitte, bitte ... :):rolleyes: ... ich würde mich sehr über weitre Hilfe freuen.


    Danke noch mal für Deinen Code und ...

  • Hallo AlkoholiX

    Was genau hast du denn vor mit der FritzBOX?
    ...
    Ich vermute das du mit zurücksetzen, eventuell einen einfachen Reconnect meinst...


    Nein, nicht ein einfaches Reconnect, sondern einen kompletten Re-Boot der FBF (Fritz!BoxFon)

    Bei meinem hohen Datendurchsatz macht die blöde FBF geerne immer wieder schlapp und Probleme. Deshalb möchte das Teil geren bei Bedarf mit einem einzigen Maus-Click und auch einmal pro 24 Stunden automatisch komplett re-booten.

    Vielleicht, kann dir ein externes Tool weiterhelfen ;)
    ...
    Wenn das der Fall ist, kannst du meinen Dateianhang nehmen, ein beispiel wie es funktioniert, ist in der "reconnect.bat"...

    Leider ebenfalls nein. denn
    1. bekomme ich folgende Virus-Meldung: :!::cursing::!:


    ... und 2.
    blicke ich bei dem Rest nicht durch, was es genau auf meinem System treiben würde, wenn ich es denn laufen lassen könnte (es fehlt mir ja ein sauberes 'nc.exe', da es von meinem Schutzsystem vernichtet wurde)

    Deine Lösung würde mich dennoch interessieren, ich bin für alles Gute aufgeschlossen.

    Vielleicht kannst Du mal checken, was es mit dem Virus-Alarm auf sich hat, ein wenig mehr erklären wofür die einzelnen Komponenten gut sind, was machen und woher sie sind.

    Vielen Dank, auch im Voraus und ...