vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: HTML/Internet/Netzwerk · WebBrowser   |   VB-Versionen: VB4, VB5, VB630.03.07
Web-Formular programmgesteuert ausfüllen

Hier wird gezeigt, wie sich ein Web-Formular, das im WebBrowser-Control angezeigt wird, automatisch ausfüllen und abschicken lässt.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  18.683 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Vista, Win7, Win8, Win10 Beispielprojekt auf CD 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Immer wieder wird im Forum die Frage gestellt, wie man ein Web-Formular programmgesteuert ausfüllen und abschicken kann. Meist handelt es sich hierbei um ein Anmelde- oder Login-Formular, in das man seinen Benutzernamen und Kennwort eintragen muss.

    Mit nachfolgendem Beispiel möchten wir zeigen, wie sich das automatisierte Ausfüllen des Web-Formular in Verbindung mit dem Einsatz des WebBrowser-Controls realisiren lässt. Aktivieren Sie hierzu zunächst den Eintrag "Microsoft Internet Controls" im Dialog "Projekt - Komponenten" und ziehen dann das WebBrowser-Control auf die Form. Bevor Sie jetzt mit dem "Coden" starten, müssen Sie zunächst in Erfahrung bringen, wie das Formular im HTML-Seitenquelltext der Webseite "benannt" ist. Öffnen Sie hierzu die URL im Internet-Explorer und lassen sich den Seiten-Quelltext anzeigen. Suchen Sie dann nach "<form ". Der Name des Formulars steht hinter dem name-Parameter. Ist kein name-Parameter angegeben, müssen Sie das Formular später mit dem Index "ansprechen". Das erste Formular im Seitenquelltext hat hierbei den Index = 0. Die einzelnen Formularfelder sind im Qeitenquelltext mit "<input type ... name=" angegegeben.

    Diese Informationen müssen Sie sich merken, da wir sie anschließend im VB-Code benötigen.

    Beispiel:
    Wir erstellen eine kleine Anwendung, mit der man sich automatisiert in unserem Diskussionsforum einloggen kann.

    1. Anmeldeformular im WebBrowser anzeigen
    Im Form_Load Event wird as Login-Formular geladen:

    Option Explicit
    Dim bLoaded As Boolean
     
    Private Sub Form_Load()
      ' Anmelde-Seite laden
      bLoaded = False
      WebBrowser1.Navigate "http://www.vbarchiv.net/forum/login.php"
     
      ' Warten, bis Webseite vollständig geladen wurde
      Do While Not bLoaded
        DoEvents
      Loop
    End Sub
    Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, _
      URL As Variant)
     
      ' Webseite wurde vollständig geladen
      bLoaded = True
    End Sub

    2. Login-Formular ausfüllen und abschicken
    Das Formular unserer Anmeldeseite hat im Seitenquelltext keine name-Angabe. Wir müssen es demnach über den Index ansprechen. Da es sich um das erste Formular auf der Webseite handelt, ist der Index in diesem Fall 0. Die einzelnen Eingabefelder des Formulars sind mit dem Namen "username" und "password" benannt. Zum Ausfüllen der Eingabefelder benötigen wir folgende Codezeilen. Das Abschicken des Formulars erfolgt über die "submit"-Methode.

    ' Formular ausfüllen
    Private Sub cmdLogin_Click()
      ' hier kann auch der Formularname angegeben werden, 
      ' falls vorhanden und bekannt ( .Forms("formularname") )
      On Error Goto ErrHandler
      With WebBrowser1.Document.Forms(0)
        ' Eingabefelder ausfüllen
        .elements("username").Value = "Ihr Benutzername"
        .elements("password").Value = "Ihr Kennwort"
     
        ' Formular abschicken
        .Submit
      End With
      On Error Goto 0
      Exit Sub
     
    ErrHandler:
      MsgBox "Es ist ein Fehler aufgetreten." & vbCrLf & _
        "Evtl. existiert das angegebene Formular oder eines der " & _
        "angegebenen Eelemente nicht.", vbExclamation
    End Sub

    So das war's dann auch schon.
     

    Dieser Tipp wurde bereits 18.683 mal aufgerufen.

    Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

    Über diesen Tipp im Forum diskutieren
    Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

    Aktuelle Diskussion anzeigen (3 Beiträge)

    nach obenzurück


    Anzeige

    Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6
    (einschl. Beispielprojekt!)

    Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
    - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
    - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
    Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel