Entwickler-Ecke
Internet / Netzwerk - Button einer Webseite drücken
Bergmann89 - Fr 28.05.10 02:19
Titel: Button einer Webseite drücken
Hey,
ich habe folgenden HTML Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| <TABLE BORDER="0" CELLSPACING="0" CELLPADDING="5"> <TR> <TD> <INPUT TYPE="TEXT" CLASS="TEXT" MAXLENGTH="10" SIZE="10" NAME="TEXT" ID="INPUTTEXT" VALUE=""> </TD> <TD> <INPUT TYPE="SUBMIT" CLASS="BUTTON" NAME="ACTION" VALUE="Anmelden"> </TD> </TR> </TABLE> |
Gibt es eine Möglichkeit mit Delphi in die Textbox was reinzuschreiben und dann den Button zu drücken? Wenn ja wie mach ich das? Ich hab schon n bisl Erfahrung mit der IdHTTP-Komponente vlt kann man darauf aufbauen?
MfG & Thx Bergmann.
Xentar - Fr 28.05.10 09:06
Such mal nach HTTP Forms oder sowas in der Art..
Das Thema gibts hier wohl oft genug ;)
bummi - Fr 28.05.10 09:14
nicht wirklich sinnvoller Code aber als Basis:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22:
| var WB: SHDocVw_TLB.TWebBrowser; Flags, TargetFrameName, PostData, Headers : OleVariant; o:olevariant; begin WB := SHDocVw_TLB.TWebBrowser.Create(Self); TWinControl(WB).Parent := Panel1; WB.Align := alClient; Flags := 0; TargetFrameName := NULL; PostData := NULL; Headers := NULL; WB.Navigate('C:\Users\twassermann\Desktop\test.html', Flags, TargetFrameName, PostData, Headers); Sleep(1000); Application.ProcessMessages; Sleep(1000); o:=WB.OleObject.document.forms.item(0).all; o.tags('input').item(0).setAttribute('value','TEST'); o.tags('input').item(1).Click; |
allerdings brauchst Du in der HTML-Datei auch das dazugehörige Form
also z.B.
<html>
<form action="http://www.wasauchimmer/ebbes.pl" method="get">
und die Closetags
LSanchez - Fr 28.05.10 10:39
Hallo,
ich habe mal eine Unit "U_WWWForm.pas" in Delphi 7 geschrieben, die bei der Auffüllung eines Web-Formulars hilft.
Beispiel-Code für deine Aufgabe:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| procedure Tfrm_WFAdmin.Button1Click(Sender: TObject); begin U_WWWForm.WebFeldFunktion_Durchfuehren(WebBrowser.ControlInterface, 0, 'TEXT', 'INPUT', 'Mein neuer Wert', 1); U_WWWForm.WebFeldFunktion_Durchfuehren(WebBrowser.ControlInterface, 0, 'ACTION', 'INPUT', '', 2); end; |
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| function WebFeldFunktion_Durchfuehren(const pWebbrowser: IWebBrowser2; const formNumber: integer; const fieldName, fieldTag, newValue: string; const fieldFunction: Smallint):boolean; |
Moderiert von
Narses: Delphi-Tags hinzugefügt
Bergmann89 - Fr 28.05.10 17:30
Hey,
funktioniert wunderbar, allerdings gibt es noch einen kleinen Fehler. Und zwar kommt jedesmal wenn ich den Button drücken lasse ein RuntimeError und der Just-In-Time-Debuger von Windows springt an: "Unbehandelte Ausnahme ('this.document.INPF.TEXT' ist Null oder kein Objekt)". Dann fragt er ob ich debugen will oder nich, wenn ich nein klickt geht es ohne Probleme weiter. Ich hab auch schon versucht ein try-except-Block drum zu machen, aber das geht auch nicht. Es scheint auch keine normale Exception zu sein, weil da ja normalerweiße der Delphi-Debuger anspringen würde. Hat jmd ne Idee wie ich das beheben kann?
MfG & Thx Bergmann
LSanchez - Mo 31.05.10 11:52
Hallo,
wie seht deine HTML-Seite jetzt aus? macht der Button irgendwas?
Gruß
L. Sanchez
P@u1 - Sa 19.06.10 16:12
Hi,
ich habe jetzt ein ähnliches Problem, und schreib jez einfach mal hier in den Thread, wenn ich nen neuen aufmache kommt sonst, dass es davon schon threads gibt.
Also ich möchte auch auf einen Button bei einer Seite drücken lassen automatisch (ohne das wirklich ein Mausklick ausgeführt wird).
Ich habe die hochgeladene Unit schon benutz und damit einige Tests gemacht.
Leider passiert bei der Seite, für die ich das benutzen wollte rein gar nichts.
Hier der Link:
http://sportwetten-magazin.com/wettbonus-freispielen-clearen.html
Es geht um den "Suche" Button!
Ich hab mir den feldnamen ausm Quelltext geholt und beim feldtag war ich mir nicht ganz sicher, hab aber verschiedenes versucht, es ist jedes mal einfach nichts passiert.
Wenns euch dabei hilft, mir zu helfen, kann ich die Delphi-Dateien vom Programm, mit dem ich das versucht hatte noch hochladen.
Vielen Dank für eure Hilfe schonmal!
Paul
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!