Anfängerfrage - Submit Button

  • Hallo Liebe Leute,

    ich entschuldige mich im Voraus, sollte die gestellte Frage so dämlich sein wie ich es befürchte. Ich bin ein absoluter Anfänger und versuche mithilfe vom AutoIT Wiki Tutorial und einigen Code Templates die Grundlagen zu lernen.

    Ich möchte nun ein kleines Script schreiben, welche Automatisch IE öffnet und sich automatisch auf einer Webseite einloggt. Ich habe mir hierfür einen kleinen Quellcode aus dem Internet geholt und versucht, ihn anzupassen.

    Er gibt mir aber den Fehler, dass die Variable für $objSubmit nicht deklariert ist.

    [Blockierte Grafik: https://image.ibb.co/dsnsyb/Auto_IT_error.jpg]


    Ich gehe davon aus, dass es daran liegt, dass im Seitenquelltext sowohl die Email Adresse als auch das Passwort zusätzlich mit einem Namen deklariert sind. Quasi so :

    Code
    <input type="text" name="email_address" class="span12" maxlength="60" />
    Code
    <input type="password" name="password" class="span12" maxlength="30" />


    Der Anmelde Button hat dies allerdings nicht

    Code
    <button class="btn" type="submit" title="Anmelden"><i class="icon-user"></i>&nbsp;Anmelden</button>


    Wo liegt nun mein Fehler? Geht es über den title, so wie ich das versuche, prinzipiell nicht?


    Habe es auch schon so versucht :

    Code
    if $obj.class ="btn" and $obj.type = "submit" and $obj.title="Anmelden"  then
                 $objSubmit = $obj

    dann bekomme ich jedoch diese Meldung :

    [Blockierte Grafik: https://image.ibb.co/c2rVjG/Error_2.jpg]


    Hat jemand einen kleinen Denkanstoß , was ich falsch mache bzw anders machen könnte?


    Liebe Grüße und Vielen Dank

  • Hallo AlphavibeZ,

    hier mal ein Script dafür. Das kann dann entsprechend angepasst werden.


    oder mit GUI


    Gruß gmmg :)

    Einmal editiert, zuletzt von gmmg (25. Januar 2018 um 13:52)

  • Ok - nächste Frage. Habe mir da bisschen was zusammengeschustert (mit eurer Hilfe) und das funktioniert auch ganz gut. Es macht quasi folgendes :

    IE öffnen > Homepage öffnen > Anmelden > in den Adminbereich der Homepage wechseln > Textbox öffnen, in welcher man den Hersteller angeben muss > In die gewünschte Herstellerkategorie wechseln und das Formular zum Anlegen eines neues Artikels öffnen.

    Habe das mit der Textbox so gemacht :

    und so weiter - ich denke Ihr wisst was ich meine! (gibt es hierfür eigentlich eine einfachere , übersichtlichere und schnellere Variante?)


    So, nun möchte ich , dass sich ein GUI öffnet in dem man den Artikel pflegen kann. Ich habe hierzu mal die Vorlage von gmmg genommen (danke nochmals dafür!)

    Ich möchte nun, dass sich $link den Wert holt, welcher bei $s_hersteller rausgekommen ist, z.B. "URL zu Hersteller 2".

    Wie kann ich das am besten machen? Tut mir leid, falls die frage doof ist.


    Liebe Grüße

    Alpha


    E: Habe es so gelöst bekommen

    Code
    $formularlink = _IEPropertyGet($oIE,"locationurl")


    Edit 2:

    Durch das herausfinden wie ich das machen kann habe ich gemerkt, dass das totaler Quatsch ist was ich da mache...

    Danke Trotzdem!


    Edit 3 :


    Glaube hab nun was das passt. Bevor ich daran weiterschreibe, fällt jemandem ein gravierender Fehler auf den ich übersehe?

    3 Mal editiert, zuletzt von AlphavibeZ (26. Januar 2018 um 11:43)

  • So, habe nochmals eine Frage.

    Ich erstelle wie gesagt grade eine GUI um die diversen Webformulare auszufüllen.

    Das mit den Textboxen bekomm ich auch schon gut hin. Nun habe ich einige Dropdown Menüs und Checkboxen.

    Erstmal zu den Dropdown menüs. Habe es hinbekommen ein Dropdown in die GUI zu integrieren. Habe für die Auswahl ein Array verwendet, das sieht so aus :


    Habe das dann so ins GUI integriert :

    Kann das jetzt auch alles schön im GUI auswählen, allerdings möchte ich nun, dass er die Value vom Array quasi versteckt und diese nur ins Formular übermittelt. Sehen möchte ich den Namen des Herstellers. Wie ist das machbar?


    Lg

    Alpha

  • Du brauchst dafür ein 2D Array.

    Wenn du Excel hast, kannst du dir ein Dokument mit deinen Daten (Spalte 1, Spalte 2 ) erstellen und das dann auslesen. Beispiele dazu stehen auch in der Hilfe Datei.

    Mit der Funktion _ExcelReadSheetToArray wird das Dokument in ein Array gelesen.

    Gruß gmmg

  • Du brauchst dafür ein 2D Array.

    Wenn du Excel hast, kannst du dir ein Dokument mit deinen Daten (Spalte 1, Spalte 2 ) erstellen und das dann auslesen. Beispiele dazu stehen auch in der Hilfe Datei.

    Mit der Funktion _ExcelReadSheetToArray wird das Dokument in ein Array gelesen.


    Gruß gmmg

    habe leider kein excel. aber habe es jetzt hinbekommen. danke für deine hilfe - schon wieder!