FF Addon MozRepl (FF version 3.6.13)

  • guten tag,
    ich habe folgenden code

    [autoit]

    #include <FF.au3>
    #include <IE.au3>
    Opt("TrayAutoPause", 0)
    Opt("TrayIconDebug", 1)
    Opt("TrayIconHide", 0)

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

    Local $username, $password , $postfach
    $postfach = "http://www.gmx.net"
    $username = "rkd79@gmx.de"
    $password = "*******************"

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

    _mail_FF($username, $password, $postfach)
    Func _mail_FF($username, $password, $postfach)
    _FFStart($postfach) ; Wenn der FF offen sein sollte, ist auch _FFConnect möglich! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
    If _FFIsConnected() Then ; Wenn die Verbindung zum FF hergestellt werden konnte, dann...
    _FFSetValue($username, "username", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    _FFSetValue($password, "password", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    Send("{ENTER}")
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf
    EndFunc ;==>_mail_FF

    [/autoit]


    und bekomme folgende Meldung:


    Dazu wird viel geschrieben:
    die Seiten von Thorsten Willert habe ich durchgeackert (ich habe keinen Plan was ich damit anfangen soll ? )

    seit Stunden versuche ich dieses AddOn zu installieren.

    FF version 3.6.13 (mit dieser Version geht das anscheinend nicht)

    kann mir jemand bitte für absoluten DUMMY erklären:

    a) wie installieren ich das AddOn ? (anscheinend muss das auch noch gestartet werden)
    b) was muss ich in Autoit dann berücksichtigen ? (include?) oder sonstiger code
    c) Happy .......das ding geht nu auf meinem rechner .........aber was mache ich, dass das auch bei meinem freund lauft.
    muss der einen Lehrgang machen, dass er das script bei sich zu laufen bekommt.

    sowas habe ich runtergeladen: mozlab-0.1.8.2007072315-fx+tb+fl.xpi was kann man mit sowas anfangen?

    danke
    gruss roland

    PS: Googeln Autoit-Threads .......(da habe ich keine lösung gefunden, oder eben nicht kapiert)

  • das in Buckfix verlinkte AddOn behauptet allerdings bei der Installation, mit dem Fux 3.6.13 nicht kompatibel zu sein und verweigert daher die Installation.

  • MozRepl 0.2.0.2008122712 konnte nicht installiert werden, da es nicht kompatibel mit Firefox 3.6.13 ist.
    steht doch alles da.
    MozRepl 1.0
    MozRepl 1.0 – release sollte hinhauen.

  • Hi,
    danke erst mal.

    also klick auf link von bugfix, kan ich nur ne datei runterladen. das hat dann endung: xpi

    Bloede frage ? was mache ich damit ??

    auf andem wege scheitert das Installieren des addon mit Hinweis ...dass die Installation füer diese FF version verweogert wird .

    Im moment habe ich kein Plan welchen Lehrgang es nun braucht ??

    danke erst mal
    gruss roland

  • ok....das ding iss nu bestandteil meines FF....
    ob das mit runterladen neueste version FF funktioniert, mag ich erst mal bezweifeln.

    xpi ---endung Programm zum Öffnen----> FF einstellen. (warum der das nicht automatisch erkennt ?

    nun mal zum code:

    IE:

    [autoit]

    func _mail_IE($username, $password, $postfach)
    $oIE = _IECreate($postfach)
    ; Holt Zeiger zum Login-Formular und zu den Input-Controls von Username und Passwort
    $o_form = _IEFormGetObjByName($oIE, "formLoginFreemail")
    $o_login = _IEFormElementGetObjByName($o_form, "id")
    $o_password = _IEFormElementGetObjByName($o_form, "p")
    ; Setzt die Feld-Werte und schickt das Formular ab
    MsgBox(0, "", "username wird eingegeben: "& $username,1)
    _IEAction($o_login, "focus")
    Sleep(500)
    _IEFormElementSetValue($o_login, $username)
    MsgBox(0, "", "passwort wird eingegeben: "& $password,1)
    _IEAction($o_password, "focus")
    Sleep(500)

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

    _IEFormElementSetValue($o_password, $password)
    _IEAction($o_password, "focus")
    ;MsgBox(0, "", "Zum Postfach ")

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

    _IEFormSubmit($o_form)
    EndFunc

    [/autoit]

    also das Ding funkt im IE aber ich musste da jeweils den FOCUS erst in die loginfelder setzen.


    das gleiche nun mit FF:

    [autoit]

    _mail_FF($username, $password, $postfach)
    Func _mail_FF($username, $password, $postfach)
    _FFStart($postfach) ; Wenn der FF offen sein sollte, ist auch _FFConnect möglich! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
    If _FFIsConnected() Then ; Wenn die Verbindung zum FF hergestellt werden konnte, dann...
    _FFSetValue($username, "id", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    _FFSetValue($password, "p", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    Send("{ENTER}")
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf
    EndFunc ;==>_mail_FF

    [/autoit]

    nun weiss ich nicht wie der da die loginForm findet ?

    das ding schreibt nun Benutzername und passwort in die richtigen Felder: aber die vorgaben in den Feldern werden überschrieben.

    irgendwie muss ich da auch erst den focus setzen...aber wie oder wo finde ich den befehl dazu ?


    es gibt irgend ein tool-addon oder sowas im FF, damit kann man die formular eigenschaften anzeigen:
    anstatt da im quelltext rauszusuchen.
    da hat mir mal jemand hier gezeigt, aber ich finde den thread dazu nicht mehr.


    WICHTIG zudem: wie erreiche ich, dass bei weitergabe an fremdrechner, der dortige FF richtig funktioniert.

    danke erst mal

    gruss roland

  • [autoit]

    #include <FF.au3>

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

    Opt("TrayAutoPause", 0)
    Opt("TrayIconDebug", 1)
    Opt("TrayIconHide", 0)

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

    Local $username, $password , $postfach
    $postfach = "http://www.gmx.net"
    $username = "rkd79@gmx.de"
    $password = "*******************"

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

    _mail_FF($username, $password, $postfach)
    Func _mail_FF($username, $password, $postfach)
    _FFStart($postfach) ; Wenn der FF offen sein sollte, ist auch _FFConnect möglich! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
    If _FFIsConnected() Then ; Wenn die Verbindung zum FF hergestellt werden konnte, dann...
    _FFSetValue($username, "inpLoginFreemailUsername", "id") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    _FFSetValue($password, "inpLoginFreemailPassword", "id") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    $sObj = _FFXpath("//div/form[@id='formLoginFreemail']/fieldset/input[8]", "", 9)
    _FFClick($sObj)
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf
    EndFunc ;==>_mail_FF

    [/autoit]

    ich benutze das Firebug Add-on für den FF

    Einmal editiert, zuletzt von weedhead (5. Februar 2011 um 18:45)

  • hi Stilgar,

    damit kann ich nun gar nichts anfangen.

    grundlegendes Problem: ungetesteter Code = NONSENS ! ( kommt gleich wieder Einwand, du bist zu bloede, zu faul und ähnliches)

    mein Code:

    [autoit]

    #include <FF.au3>
    #include <IE.au3>
    Opt("TrayAutoPause", 0)
    Opt("TrayIconDebug", 1)
    Opt("TrayIconHide", 0)

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

    Local $username, $password , $postfach
    $postfach = "http://www.gmx.net"
    $username = "rkd79@gmx.de"
    $password = "passwort---neu"
    _mail_FF($username, $password, $postfach)
    Func _mail_FF($username, $password, $postfach)
    _FFStart($postfach) ; Wenn der FF offen sein sollte, ist auch _FFConnect möglich! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
    If _FFIsConnected() Then ; Wenn die Verbindung zum FF hergestellt werden konnte, dann...
    _FFSetValue($username, "id", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    _FFSetValue($password, "p", "name") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    Send("{ENTER}")
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf
    EndFunc ;==>_mail_FF

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


    das gleiche Für IE funktioniert:

    Spoiler anzeigen

    ;_mail_IE($username, $password, $postfach)
    func _mail_IE($username, $password, $postfach)
    $oIE = _IECreate($postfach)
    ; Holt Zeiger zum Login-Formular und zu den Input-Controls von Username und Passwort
    $o_form = _IEFormGetObjByName($oIE, "formLoginFreemail")
    $o_login = _IEFormElementGetObjByName($o_form, "id")
    $o_password = _IEFormElementGetObjByName($o_form, "p")
    ; Setzt die Feld-Werte und schickt das Formular ab
    MsgBox(0, "", "username wird eingegeben: "& $username,1)
    _IEAction($o_login, "focus")
    Sleep(500)
    _IEFormElementSetValue($o_login, $username)
    MsgBox(0, "", "passwort wird eingegeben: "& $password,1)
    _IEAction($o_password, "focus")
    Sleep(500)
    _IEFormElementSetValue($o_password, $password)
    _IEAction($o_password, "focus")
    _IEFormSubmit($o_form)
    EndFunc

    Genau diesen Code für FF will ich zum laufen bringen (in analogie zum IE)

    Zitat

    (_IEAction($o_password, "focus" und _IEAction($o_login, "focus")

    damit wird in die inputfelder erst der focus gesetzt

    das gleiche soll nun im Code fuer FF passieren:

    dazu habe ich dann dieses gefunden:

    Zitat

    http://german.documentation.ff-au3.thorsten-willert.de/ff_functions/_FFDispatchEvent.php
    #Include <FF.au3>
    _FFDispatchEvent($sElement[, $sEventType = "change"[, $iKeyCode = 13]])

    wieder sackgasse: $sEventType ...was ist das ? ???????? (nnnnnnn = "focus" ) (wahrscheinlich grundlagenproblem?....oder begriffstutzig)
    wenn dazu ein beispiel für die (anfänger) vorhanden wäre?

    an sich ist das projekt ein banales unterfangen,

    den code testen ..........sieht man direckt was passiert.

    dann code ergänzen, erweitern oder ändern)
    aha soooooooooooooo funktioniert das.

    alles andere Links Tuorials Threads bringt mich nichts ans Ziel.

    z b link von Stilgar: das endet dann--------sooo: include <_FF_AutoLogin.au3> prompt geht die suche weiter..
    zudem ist da der löesungsansatz total was anders als mein code siehe oben für FF

    tagelanges rumsuchen probieren, lesten usw bringt mich nicht ans ziel. (evt. wirklich zu bloede), in dem fall muss ich eben da aufhoeren, oder sowas gegen Auftrag coden lassen.

    drum meine bitte:
    meine code vervollständigen, dann Testen und Posten.

    danke erst mal
    gruss roland

    Ps:
    das ding schreibt nun Benutzername und Passwort in die richtigen Felder: aber die vorgaben in den Feldern werden überschrieben. (vorgabe und eingabe werden übereinder geschrieben) mit Testen sieht man da was ich meine. :sleeping:

  • Hallo super47,

    du hast das Skript von @weehead in Post#9 übersehen, es ist auf deiner Vorlage aufgebaut und funktioniert einwandfrei. Auch Stilgars Lösung funktioniert einwandfrei, man muss sich nur vorher die _FF_AutoLogin.au3 herunterladen.
    Mit beiden Skripten habe ich den vo dir beschriebenen Effekt :

    vorgabe und eingabe werden übereinder geschrieben

    aber der Login klappt bei beiden.
    Ich persönlich würde Stilgar 's Version bevorzugen, da alles mit einem Funktionsaufruf geschieht,

    mfg autoBert

  • Hi autobert,
    danke für deine mühe, mein Code den ich teste sieht wie folgt aus: (aus posting #9)

    [autoit]

    #include <FF.au3>

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

    Opt("TrayAutoPause", 0)
    Opt("TrayIconDebug", 1)
    Opt("TrayIconHide", 0)

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

    Local $username, $password , $postfach
    $postfach = "http://www.gmx.net"
    $username = "rkd79@gmx.de"
    $password = "******************"

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

    _mail_FF($username, $password, $postfach)
    Func _mail_FF($username, $password, $postfach)
    _FFStart($postfach) ; Wenn der FF offen sein sollte, ist auch _FFConnect möglich! Startet den FireFox mit der Seite "www.web.de" und wartet mit Fortführung des Scripts, bis geladen
    If _FFIsConnected() Then ; Wenn die Verbindung zum FF hergestellt werden konnte, dann...
    _FFSetValue($username, "inpLoginFreemailUsername", "id") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    _FFSetValue($password, "inpLoginFreemailPassword", "id") ; Setzt in das Element mit dem Namen "" den Benutzernamen ein
    $sObj = _FFXpath("//div/form[@id='formLoginFreemail']/fieldset/input[8]", "", 9)
    _FFClick($sObj)
    ;Send("{ENTER}")
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf
    EndFunc ;==>_mail_FF

    [/autoit]

    Mit F5 starte ich:

    gmx Seite oeffnet sich--->OK----->benutzername wird gesetzt ----> Ok ---------> passwort wird gesetzt----Ok

    jetzt sollte das ding Einloggen, aber das sript bleibt stehn:

    im scripteditor kommmt unten folgende ausgabe:

    in meinen script ist natürlich das richtige passwort.

    was genau passiert bei dir wenn das einwandfrei lauft??
    das login kann ja nit gehn ohne passwort ??

    hier geht das definitiv nicht.

    einfach ist natürlich Teamviever .......paar minuten .......problem sichtbar

    oder tel noch einfacher

    aber hier kann ich das nicht mehr genauer darstellen,

    ich habe eine umfangreiche login GUI ..für meinen provider ..........Mail login kundencenter datenbank usw
    wahlweise IE oder FF funktioniert einwandfrei

    nun wollte ich mal schnell ein login zu gmx machen.............tagelanges räteslraten....fast unmöglich dass das wo anders geht nur hier nicht.

    keine ahnung wie das gehn soll

    danke gruss roland

    PS antwort stilgar ...dazu mache neuen thread .........da geht gleich gar nichts, also muss ich da wieder gesonderten lehrgang machen.

    $web = "http://www.gmx.net"
    $username = "rkd79@gmx.de"
    $password = "d7**************Haus17"
    runtergeladen habe ich: #include <FF_AutoLogin.au3> <> _FF_AutoLogin.au3

    damit sollten voraussetzungen erfüllt sein.

    dazu nu die paar zeilen code:

    1
    2
    usw

    ohne links und andere untertutorials

    getestet und sollte funktionieren, dann kann ich damit lernen, aber aus Hinweise für Profi kann ich logischer wese nicht schlau werden.

    sowas ist eben total frustrierend .........einmal für mich ....und der beantworter rätselt was ich da nicht verstehe ?(

  • [autoit]

    _FFClick("submit","class")

    [/autoit]


    Login Button
    so geht auch das sind jetzt etliche lösungen.

    Einmal editiert, zuletzt von weedhead (6. Februar 2011 um 18:51)

  • danke euch beiden,

    das von weedhead geht auch bei mir
    das ist von Douky, das geht auch

    [autoit]

    _FFFormSubmit("formLoginFreemail","id")

    [/autoit]


    aber: das geht nicht?? bei mir nicht ....ihr sagt gestestet und bei euch gehts?

    [autoit]

    _FFClick(_FFXpath("//*[@id='formLoginFreemail']/fieldset/input[8]", "", 9))

    [/autoit]

    da stimmt doch was nicht ?? eventuell FF-version ...oder die Mozrepl _Version?

    aber danke ...nu kann ich endlich mal wieder ne nacht ruhig schafen :sleeping:

    gruss roland

  • Hallo super47,

    was genau passiert bei dir wenn das einwandfrei lauft??
    das login kann ja nit gehn ohne passwort ??


    ich habe das Skript (von weedhead #9) mit meinen Account-Daten getestet und erhalte folgende Consoleausgabe (Username und Passwort = geändert)

    aber wie ich sehe hast du ja jetzt 2 funktionierende Lösungen,

    mfg autoBert