Bearbeiten von Webformularen mit dem TWebBrowser

Das TWebBrowser-Delphi-Steuerelement bietet Zugriff auf die Webbrowser-Funktionalität Ihrer Delphi-Apps, mit denen Sie eine benutzerdefinierte Webbrowser-Anwendung erstellen oder Ihre Anwendungen um Funktionen zum Surfen im Internet, in Dateien und im Netzwerk, zum Anzeigen von Dokumenten und Herunterladen von Daten erweitern können.

Web Formulare

EIN Web-Formular oder ein Formular auf einer Webseite Ermöglicht einem Webseitenbesucher die Eingabe von Daten, die in den meisten Fällen zur Verarbeitung an den Server gesendet werden.

Das einfachste Webformular könnte aus einem bestehen Eingabeelement (Eingabesteuerung) und a einreichen Taste. Die meisten Websuchmaschinen (wie Google) verwenden ein solches Webformular, damit Sie im Internet suchen können.

Komplexere Webformulare umfassen Dropdown-Listen, Kontrollkästchen, Optionsfelder usw. Ein Webformular ähnelt einem Standardfensterformular mit Steuerelementen für Texteingabe und Auswahl.

Jedes Formular würde eine Schaltfläche - eine Senden-Schaltfläche - enthalten, die den Browser auffordert, im Webformular Maßnahmen zu ergreifen (normalerweise, um es zur Verarbeitung an einen Webserver zu senden)..

Programmgesteuertes Ausfüllen von Webformularen

Wenn Sie in Ihrer Desktop-Anwendung den TWebBrowser zum Anzeigen von Webseiten verwenden, können Sie Webformulare programmgesteuert steuern: Felder eines Webformulars bearbeiten, ändern, ausfüllen, ausfüllen und abschicken.

Hier ist eine Sammlung von benutzerdefinierten Delphi-Funktionen, mit denen Sie alle Webformulare auf einer Webseite auflisten, Eingabeelemente abrufen, Felder programmgesteuert ausfüllen und das Formular schließlich übermitteln können.

Nehmen wir an, es gibt ein TWebBrowser-Steuerelement mit dem Namen "WebBrowser1" in einem Delphi-Formular (Windows-Standard), um die Beispiele einfacher zu befolgen.

Hinweis: Sie sollten hinzufügen mshtml zu Ihrer uses-Klausel, um die hier aufgeführten Methoden zu kompilieren.

Listen Sie die Namen von Webformularen auf und rufen Sie ein Webformular nach Index ab

Eine Webseite hat in den meisten Fällen nur ein Webformular, aber einige Webseiten haben möglicherweise mehr als ein Webformular. So rufen Sie die Namen aller Webformulare auf einer Webseite ab:

 Funktion WebFormNames (const document: IHTMLDocument2): TStringList; var   Formulare: IHTMLElementCollection; Formular: IHTMLFormElement; idx: integer; Start   forms: = document.Forms as IHTMLElementCollection; Ergebnis: = TStringList.Create;   zum idx: = 0 zu -1 + Formulare.Länge tun   Start     form: = forms.item (idx, 0) als IHTMLFormElement; result.Add (form.name);   Ende; Ende; 

Eine einfache Verwendung zum Anzeigen der Liste der Webformularnamen in einem TMemo:

 var   Formulare: TStringList; Start   forms: = WebFormNames (WebBrowser1.Document WIE IHTMLDocument2);   Versuchen     memo1.Lines.Assign (forms);   schließlich     Formen.Kostenlos;   Ende; Ende; 

Hier erfahren Sie, wie es geht Ruft die Instanz eines Webformulars nach Index ab. Für eine einzelne Formularseite wäre der Index 0 (Null)..

 Funktion WebFormGet (const formNumber: integer; const document: IHTMLDocument2): IHTMLFormElement; var   Formulare: IHTMLElementCollection; Start   Formulare: = document.Forms wie IHTMLElementCollection; Ergebnis: = forms.Item (formNumber, ") wie IHTMLFormElement Ende;