FF - Page Analyzer (V0.999.6b) - erstellt Befehle für HTML-Forms, Links und automatisch Login-Scripte

  • Hallo,
    der Socket Error kommt wenn du MozRepl nicht eingeschalten hast (FF-Menu/Extras)

    Falls man das vergißt, kann man das auch nachträglich machen und in dem Page-Analyzer auf "Reconnect" gehen, dann sollte die Verbindung klappen.

    Eine Seite einzugeben ist nicht notwendig, einfach in FireFox die gewünschte Seite aufmachen, warten bis diese oben in der Eingabezeile erscheint und auf "Analyze" klicken.
    Der Button wird dann so lange inaktiv wie eine Seite in FireFox geladen wird.
    Der Status der Seite wird alle 5 Sekunden überprüft. Sobald eine neue Seite in FireFox geladen wird, erscheint auch die Adresse (mit Verzögerung) im Page Analyzer.

    Zu den Fehlermeldungen:
    Ich habe gerade mal alles neu hochgeladen, das sollte nun funktionieren - hier gehts zumindest.

    Grüße
    Stilgar

  • Ahso... :)

    gut, nu hab ich das auch kapiert :)

    funzt dann jetzt auch...

    Danke für die schnelle Aufklärung eines Unwissenden :)

    Bergmann4711

  • Nochmal was zum Testen:
    V0.992

    Änderungen:
    * Transparenz kann nun eingestellt werden
    * Bei Image-Links mit JavaScript als HREF wird nun auch die Bild-SRC angezeigt
    * FRAMES["top"] wird nicht mehr angezeigt (ist ja eh klar)
    * Fehlerhafte Indizes bei mehrfach vorhandener Namen behoben
    * Fehler in URL-Anzeige im Fenstertitel behoben (führte manchmal zum Absturz)
    * Mehrere Optimierungen in readForms und createCommand

    Hinweis:
    Bei _FFFrameEnter wird der Frame genommen, den man eingestellt hat und kein Bezug auf den TreeView genommen.

    Viel Spaß damit
    Stilgar

  • Wieder was zum Testen V0.993:

    [Blockierte Grafik: http://www.thorsten-willert.de/Themen/AutoIt-FF.au3/FF_Page_Analyzer/FF-Page_Analyzer_V0993.png]

    diesmal mit Buttons zum Ordnen der Befehle und einem weitern Button (Run) zum Ausführen der Funktionen in der Liste.
    Dafür muß die FF.au3 im Standard-Include-Verzeichnis stehen.

    Das "Programm" in der Liste wird nicht auf logische Richtigkeit überprüft, wer also z.B. nur einen Befehl zum Setzen eines Wertes ausführen möchte, ohne vorher ein _FFStart oder _FFConnect einzufügen, bekommt eben eine Fehlermeldung von AutoIt.

    Viel Spaß damit
    Stilgar

    Einmal editiert, zuletzt von Stilgar (4. Juli 2008 um 20:44)

  • V0.994:

    NEU: Im Tools-Menü gibt es nun einen Punkt "Create Login Script ..."
    Diese Funktion erstellt ein Login-Script auf der Annahme, daß das Formular, das eine "password"-Eingabe enthält zum Einloggen gedacht ist und es nur eine weitere "text"-Eingabe für den Benutzernamen enthält. Das Ergebnis sieht dann z.B. wie folgt aus:
    [Blockierte Grafik: http://thorsten-willert.de/Themen/AutoIt-…lyzer_V0994.png]

    sind keine Namen vorhanden, werden die Indizes verwendet.

    Download

    Habe es an einigen willkürlich gewählten Seiten getestet und es hat bisher immer geklappt :)

    Was haltet ihr davon?

    Grüße
    Stilgar

  • V0.995:
    Ein Login-Script läßt sich nun auf dreierlei Arten erstellen, die Ergebnisse sehen wie folgt aus:

    Spoiler anzeigen
    [autoit]

    ; Login Commands
    _FFSetValueByName($Socket, "UserName", $sPassName)
    _FFSetValueByName($Socket, "PassWord", $sPassWord)
    _FFFormSubmit($Socket, "LOGIN", "name")

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

    ; Login Script
    $sPassName = ""
    $sPassWord = ""
    $Socket = _FFConnect()
    If $Socket > -1 Then
    _FFOpenURL($Socket, "http://www.autoitscript.com/forum/index.php?act=Login&CODE=00")
    _FFSetValueByName($Socket,"UserName",$sPassName)
    _FFSetValueByName($Socket,"PassWord",$sPassWord)
    _FFFormSubmit($Socket,"LOGIN","name")
    EndIf

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

    ; Login Function (basierend auf Vorlage in INI)
    Func _FFLogin(ByRef $Socket, $sUserName, $sPassWord, $sSuccses)
    If $Socket > -1 Then
    _FFOpenURL($Socket, "http://autoit.de/index.php?form=UserLogin")
    If @error Then Return 0
    If _FFSetGet($Socket,".forms[0].elements[0].value='" & $sUserName & "'") <> $sUserName Then Return 0
    If _FFSetGet($Socket,".forms[0].elements[1].value='" & $sPassWord & "'") <> $sPassWord Then Return 0
    _FFFormSubmit($Socket,0)
    If @error Then Return 0
    _FFLoadWait($Socket)
    If _FFAction($Socket,"search",$sSuccses) Then Return 1
    EndIf
    Return 0
    EndFunc

    [/autoit]

    die Ausgabe als Funktion läßt sich in der INI umbauen, einfach mal anschauen :)

    Die Funktion läßt sich z.B. so anwenden:

    Spoiler anzeigen
    [autoit]

    #region Includes
    #include <FF.au3>
    #endregion Includes

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

    $Socket = _FFConnect()
    If _FFLogin($Socket, "Stilgar", "*******", "Du wurdest erfolgreich angemeldet") Then
    MsgBox(64, "", "Login erfolgreich!")
    Else
    MsgBox(48, "", "Login fehlgeschlagen!")
    EndIf

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

    Func _FFLogin(ByRef $Socket, $sUserName, $sPassWord, $sSuccses)
    If $Socket > -1 Then
    _FFOpenURL($Socket, "http://autoit.de/index.php?form=UserLogin")
    If @error Then Return 0
    If _FFSetGet($Socket, ".forms[0].elements[0].value='" & $sUserName & "'") <> $sUserName Then Return 0
    If _FFSetGet($Socket, ".forms[0].elements[1].value='" & $sPassWord & "'") <> $sPassWord Then Return 0
    _FFFormSubmit($Socket, 0)
    If @error Then Return 0
    _FFLoadWait($Socket)
    If _FFAction($Socket, "search", $sSuccses) Then Return 1
    EndIf
    Return 0
    EndFunc ;==>_FFLogin

    [/autoit]

    Welche Vorschläge gibt es noch dazu?

    Download

    Grüße
    Stilgar

  • Nochmal ein Update :)

    V0.996:
    * Speicherverbrauch gesenkt (um bis zu 11MB)
    * Bei Up-Down in der Befehlsliste bleibt der entsprechende Eintrag nun markiert.
    * Fehlermeldung von "_FFFrameEnter ==> Socket error" in EXE behoben.
    * "Run" funktioniert nun auch bei kompiliertem Script

    Download siehe erste Seite.

    Grüße
    Stilgar

  • Nicht das es jetzt wirklich wichtig wäre:

    Als au3 und als exe funktionierts das Ganze, aber als a3x kommt nach dem Drücken auf" Analyze" die Fehlermeldung
    "In Line -1: Error: Unknown macro"
    und das Programm beendet sich. Woran könnte denn das liegen?

  • Habe gerade die 999b und aktuelle FF.au3 geladen. Der AU3Checker meldet leider oben genannteFehler.

  • Nochmals überarbeitet: V0.999.3

    * optimized performance (nun ca. 200 links/s, bei Formularen ist leider nicht viel zu machen)
    * fixed problem with frames
    * fixed error with _FFClick and name-index
    * fixed error with _FFFrameEnter("top")

    das Frame-Problem ist allerdings nur im Zusammenspiel mit der neuesten Test-Version der FF.au3 behoben.

    Grüße
    Stilgar

  • ich krieg ständig nur fehler =(

    Spoiler anzeigen