HTML Seite automatisch ausfüllen

  • VB6

Es gibt 16 Antworten in diesem Thema. Der letzte Beitrag () ist von haiflosse.

    HTML Seite automatisch ausfüllen

    Ich möchte eine html Anmeldeseite automatisch ausfüllen mit Benutzername und Kennwort.
    Dazu habe ich folgendes Beispiel verwendet: vbarchiv.net/tipps/tipp_1613-w…gesteuert-ausfuellen.html
    Dies funktioniert soweit ganz gut, bis auf das Submit. Wenn ich das Submit durchführe passiert nichts es wird dies nicht durchgeführt.

    Auf einer anderen Seite funktioniert der Submit.

    Wenn ich die Seite im Internet aufrufe und dann auf Enter drucke kann ich mich anmelden.

    Hoffe es hat jemand eine Idee wie ich dies lösen kann.
    Danke
    Solange du nicht mal bekannt gibst, um welche Seite es sich handelt, wird dir keiner helfen können.
    Jede Webseite ist anders.

    Programmierst du tatsächlich in VB6?
    Zusatzfrage:
    Welchen Grund hast du, eine 20 Jahre alte Programmiersprache zu verwenden?
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ich würde das Element mit der ID Logon_PopupActions_Menu_DXI0_T (der "Anmelden"-Button) suchen und ein Klick-Ereignis auslösen.
    Aber die Elemente Username und Password dürften vermutlich auch nicht funktionieren.
    Schau dir mal mit F12 den Source-Code der Seite an.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „petaod“ ()

    Sollte gehen.

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("Logon_v0_42565827_MainLayoutEdit_xaf_l30_xaf_dviUserName_Edit_I").SetAttribute("value", TextBox1.Text)


    das ist für das Erste Feld.
    Danke für die Antwort.

    Die Felder für Benutzername und Passwort kann ich problemlos ausfüllen, nur den Anmelden Button schaffe ich nicht zum anklicken.

    Ich habe folgendes versucht:

    Quellcode

    1. With WebBrowser1.Document.Forms(0)
    2. .elements(passwort).Value = "kennwort"
    3. .elements(username).Value = "benutzer"
    4. .GetElementById("Logon_PopupActions_Menu_ITCNT1_xaf_a0_1").onClick
    5. End With


    Logon_PopupActions_Menu_DXI0_T kann ich im Quellcode nicht finden, aber Logon_PopupActions_Menu_ITCNT1_xaf_a0_1, deshalb habe ich diese ID verwendet, oder habe ich da etwas falsch verstanden.

    Leider bekomme ich da bei der Zeile .GetElementByid ..... folgende Meldung:
    ------------
    Es ist ein Fehler aufgetreten.
    Evtl. existiert das angegebene Formular oder eines der angegebenen Elemente nicht.
    ---------------

    Ich habe dies noch in meinem vb6 Code eingebaut. Vielleicht kann mir jemand helfen diesen Code von vbarchiv.net/tipps/tipp_1613-w…gesteuert-ausfuellen.html noch mit dem Buttonclick anzupassen, oder muss ich vb.net verwenden.

    Danke nochmals
    Vielen Dank für die Antwort, nur leider kommt die selbe Fehlermeldung.
    Habe auch "login_button" auf "Logon_PopupActions_Menu_ITCNT1_xaf_a0_1" geändert.
    Hoffe es hat noch jemand eine Idee dazu.
    Ich habe es in meinem VB6 Projekt getestet.
    Danke

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „haiflosse“ ()

    Danke für die Antwort.
    Ich habe nun folgendes versucht:

    Quellcode

    1. With WebBrowser1.Document.Forms(0)
    2. .elements(passwort).Value = "kennwort"
    3. .elements(username).Value = "benutzer"
    4. End With
    5. WebBrowser1.Document.GetElementById("Logon_PopupActions_DXI0_T").InvokeMember ("click")


    Die Felder Passwort und username lese ich mir immer vom Quellcode aus und übergebe ich in die Variablen Passwort und username und passen.

    Leider kommt da noch immer die selbe Fehlermeldung:
    Es ist ein Fehler aufgetreten.
    Evtl. existiert das angegebene Formular oder eines der angegebenen Elemente nicht.

    Hoffe jemand hat noch einen Tip.
    Danke

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „haiflosse“ ()

    So Ich habe das ganze nun unter vb.net nachprogrammiert und da funktioniert auch der Buttonclick.
    Mein Code sieht wie folgt aus:

    Quellcode

    1. WebBrowser1.Document.All(passwort).SetAttribute("value", "kennwort")
    2. WebBrowser1.Document.All(username).SetAttribute("value", "benutzer")
    3. WebBrowser1.Document.All("Logon_PopupActions_Menu_DXI0_T").InvokeMember("Click")


    Leider bekomme ich aber dann einen Scriptfehler, den ich direkt über eine Webseite nicht bekomme.
    Die Meldung sieht wie folgt aus
    dropbox.com/s/7e69vih9fena9i1/meldung.png?dl=0

    Wie bekomme ich diese Meldung noch weg bzw. kann ich die irgendwie ignorieren.
    Danke

    --------------
    Nachtrag:
    Habe es gefunden, man muss
    WebBrowser1.ScriptErrorsSuppressed = True
    vorher eintragen.

    Das einzige was mir nun noch fehlt ist wie ich auf eine weitere Seite navigieren kann, wenn ich angemeldet bin.
    Den Link habe ich nur weiß ich nicht wann ich den Link ausführen kann bzw. der Login fertig ist.
    Wie kann ich dies feststellen und dann den Link ausführen.

    Ich habe folgendes versucht unter meinem oberen Code

    Quellcode

    1. Do Until WebBrowser1.ReadyState = WebBrowserReadyState.Complete
    2. Application.DoEvents()
    3. Loop
    4. WebBrowser1.Document.All("Auswahl").InvokeMember("Click")


    Dies funktioniert aber leider nicht, da der Click WebBrowser1.Document.All("Auswahl").InvokeMember("Click") sofort ausgeführt wird und erhalte folgende Meldung:
    ------------
    Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
    ------------

    Vielleicht hat da noch jemand eine Idee dazu.
    Danke

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „haiflosse“ ()

    Ich habe noch eine Bitte.
    Kann mir jemand noch den Namen bzw. ID des Buttons mitteilen für "Exportieren nach Excel 2007 Dokument" in folgendem Sourcecode
    dropbox.com/s/5ls4qjf85g0l9is/source.txt?dl=0

    Ich habe ihn inzwischen gefunden. Er hat die ID: Vertical_TB_Menu_DXI1i0_
    Nun habe ich aber ein anderes Problem. Wenn ich auf den Button klicke bekomme ich ein Popupfenster zum Speichern der Datei.
    Wie kann ich nun die Datei standardmäßig in einen Dateinamen speichern oder funktioniert dies automatisch nicht.
    Danke nochmals.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „haiflosse“ ()