Formulare ausfüllen Tipps

  • Hallo zusammen,

    ich zerbreche mir seit Tagen den Kopf, wie ich am besten
    mehrerere Internet-Formulare ausfüllen kann.
    Es wäre toll wenn Ihr mir einfach mal Tipps geben könnt.

    Das Problem ist daß jede Seite unterschiedliche Felder hat die ausgefüllt werden müssen.
    Hier mal mein Gedanke:

    Code
    Kontrollkästchen: Google, Ebay,...
    Google hat z.B. 1 Feld das ausgefüllt werden soll!
    Ebay hat z.B. 2 Felder die ausgefüllt werden sollen.
    Web.de hat z.B. 5 Felder die ausgefüllt werden sollen!


    Also, wenn z.B. alle angewählt wurden, soll die ausfüllarbeit erledigt werden.
    Doch wie organisiert man am besten die einzelnen Vorgänge?
    Alles in ein einziges Script zu bauen ist mit Sicherheit nicht zu empfehlen.

    Hier bin ich mir unschlüssig wie ich es am einfachsten und besten lösen könnte:

    Zitat
    • Soll ich alles in einer *.ini abspeichern (Adresse, Felder, Buttons)?
    • legt man am besten für jede Internet-Seite ein Function für die Felder fest?
    • Ist es besser jede Seite downzuloaden und dann zu bearbeiten?
    • Wäre Regex zu empfehlen?
    • Soll ich alle Felder jeder Internet-Seite in einer *.csv speichern?

    Würde mich sehr freuen, wenn Ihr mir Ratschläge geben könnt,
    wie ich an die Sache rangehen kann, bevor alles im Chaos endet!

    Liebe Grüße
    Ilse ;)

  • Ich hab zwar bis jetzt noch nichts großes mit Inet Seiten gemacht aber ich denke ich würde eine ini verwenden

    [google]
    suchfeld=Ich suche nach autoit hilfe
    [ebay]
    username=Testuser
    password=geheim

    Als Key halt immer den Namen bzw die ID des eingabefeldes und als Wert das was eingegeben werden soll.
    Dann die ganze Inisection einlesen und mithilfe einer For schleife die Felder ausfüllen.

    Ob das so einfach geht wie ich mir das vorstelle weiß ich leider nicht. Wie gesagt mit der IE.au3 bzw der FF.au3 hab ich noch nichts großartiges gemacht.

    Du musst halt dann die ini selbst pflegen falls sich was verändert oder neue Seiten dazukommen sollen.

    Deine Möglichkeiten 2 und 5 würde ich aber schonmal mit Sicherheit ausschließen.
    3 versteh ich nicht ganz für was du sie downloaden willst, fällt aber eher auch weg.
    Und 4 also Regex ist ideal für Internetseitenverarbeitung. Versteh aber auch nicht ganz inwiefern dir das beim ausfüllen helfen soll.

  • Hallo Schnitzel,

    merci für deine Tipps!

    FunctionGoogle, FunctionEbay...nicht so gut?

    hm...ich dachte nur deßhalb daran, weil z.B. auch Buttons geklickt werden
    oder Msgboxen erscheinen....
    So ungefähr, ist google angewählt, starte FunctionGoogle (Herzlich Willkommen, kurze Info...)
    gehe zum Feld...
    und daß ich dann irgendwie statt der ini alle Funktionen extern manage.
    Für jede WebSite eine Function!

    Denkst du, Funktionen sind da der falsche Weg oder zu umständlich?

    Ich muß z.B. wissen das q das Suchfeld von google ist!
    D.h. ich müsste jedes Feld auch in der ini speichern?
    ich meine z.B. die Feldbezeichner von eBay, ...
    Die müssen ja auch irgendwie gelesen werden.

    uff...

    Grüße
    Ilse ;)

    Einmal editiert, zuletzt von Ilse (7. September 2010 um 13:01)

  • Hallo BadBunny,

    erstmal auch ein danke für deinen Beitrag!
    Alle Seiten sollen nacheinander geöffnet und ausgefüllt werden.
    Aber mit den Taps finde ich eine gute Idee, das ginge auch?

    Grüße
    Ilse

  • schau dir mal Roboform an das is glaub sowas wie du es willst^^
    zumindest in sachen ausfüllen
    wenn du natürlich noch die seiten öffnen lassen willst, kannst du dir das ja mal runterladen und dann nen script damit aufbauen
    ist vllt leichter als das mit den ganzen daten selbst zu machen
    also dein script öffnet nen InetExplorer und drückt den button für ausfüllen bei Roboform so ungefähr

  • Also ich hab gerade mal geguckt ... die Anmelde daten von ebay sind recht einfach, du könntest dann noch von anderen web sites herausfinden und dann in einer While schleife immer abfragen ob die _IEAttach () was gefunden hat und wenn dies dann so ist, das und das einfügen.
    Also für eBay wäre es folgender Script:

    [autoit]


    #include <IE.au3>
    $oIE = _IEAttach ("Herzlich willkommen auf eBay")
    $oForm = _IEFormGetObjByName ($oIE, "SignInForm")
    $oQuery2 = _IEFormElementGetObjByName ($oForm, "pass")
    $oQuery = _IEFormElementGetObjByName ($oForm, "userid")
    $oSubmit = _IEGetObjByName ($oIE, "but_sgnBt")
    _IEFormElementSetValue ($oQuery, "Hier deinen namen")
    _IEFormElementSetValue ($oQuery2, "dein pw")
    _IEAction ($oSubmit, "click")

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

    Das klickt jetzt auch sofort auf anmelden. Du musst nur auf ebay gehen, dann anmelden und das script starten. dieses starten könnte das script dann halt alleine machen wenn du immer abfragst. Du könntest so auch mehrere taps abfragen, indem du _IEAttach je auf die Seite deines Taps umstellst.
    LG

  • hier mal ein Beispiel für Firefox.
    MozRepl muss installiert und gestartet werden.
    http://wiki.github.com/bard/mozrepl/

    [autoit]

    #include <FF.au3>

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

    _FFStart()
    If _FFConnect() Then
    _FFOpenURL("http://www.web.de/fm/")
    _FFSetValue("user", "inpLoginUsername","id")
    _FFSetValue("123456", "inpLoginPasswd", "id")
    $sObj = _FFXpath("//div/div/form[@id='formLogin']/fieldset/input[7]","",9)
    _FFClick($sObj)
    sleep(2000)
    _FFTabAdd("www.google.de")
    _FFSetValue("Ich suche nach ", "q", "name")
    _FFFormSubmit()
    Else ; Sonst... (Fehlermeldung!)
    MsgBox(64, "Ein Fehler ist aufgetreten", "Eine Verbindung mit dem Mozilla FireFox war nicht möglich!")
    EndIf

    [/autoit]