Autor Beitrag
Die Brotmafia
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 00:32 
Also, ich habe mir heute was neues vorgenommen:

Ich würde gerne ein Tool coden welches folgende Dinge kann:

Auf einer Page einloggen, wie z.B. freenet.de, mit Benutzername und Passwort.
Danach ein auf ein Feld in der Page eingehen, z.B. email schreiben. (Eventuell auch sms, *g*)
Daraufhin den Text, welchen man in ein Memo schreibt, in das Email Feld eintragen. (Oder eben Sms Feld)
--> Daraufhin auf einen der Werbebanner unten klicken, automatisch.

Von dem ganzen soll man nur mitkriegen, dass man sich einloggt, dann einen Text schreibt und auf absenden klickt, die ganzen Sachen wie auf der page einloggen, SmS Feld öffnen und Text vom Memo dort eintragen sollen automatisch passieren.



Welche Komponenten brauch ich dazu oder welche sollte ich am besten verwenden?

thnx schon im Vorraus!


Moderiert von user profile iconChristian S.: Topic aus Sonstiges verschoben am So 25.12.2005 um 14:50

_________________
Brot für die Welt, Kuchen für mich!
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 25.12.05 01:14 
komponenten brauchst du keine, beschäftige dich ein wenig mit der windows api, dann solltest du es hinbekommen ;)
Muffin
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 99

WinXP Pro SP2
D7 Personal
BeitragVerfasst: So 25.12.05 01:28 
Deine Idee hört sich nicht ganz sauber und legal an :) Willst du eMail Spam revolutionieren?
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 01:53 
Ne, ich will nur die Free-Sms von meinem Account nicht versenden müssen indem ich mich auf der Page einlogge und dann auf das Sms-Symbol klicke, sondern ich will einfach ein Programm machen dass sich automatich einloggt wo ich dann nur noch losschreiben muss ;)

Ach ja, der Post mit dem "beschäftige dich mit der Windows Api" hat mir leider auch nicht viel genützt, wo soll ich da anfangen? Giebts da n gutes Tutorial zur Windows Api? Die Forensuche hat's bei mir nicht gebracht, nur Sachen die mich nicht angehen...
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 25.12.05 06:28 
Suche nach Suche in: Delphi-Forum, Delphi-Library AUSFÜLLEN INTERNET EXPLORER. Und warum postets du nicht in der Internet-Sparte?
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 14:59 
Jetzt hab ich als Beispiel mal den Code:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
var
  i, j: Integer;
  FormItem: Variant;
begin
  Result := False;
  //no form on document
  if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
  begin
    Exit;
  end;
  //count forms on document
  for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do
  begin
    FormItem := WebBrowser.OleObject.Document.forms.Item(I);
    for j := 0 to FormItem.Length - 1 do
    begin
      try
        //when the fieldname is found, try to fill out
        if FormItem.Item(j).Name = FieldName then
        begin
          FormItem.Item(j).Value := Value;
          Result := True;
        end;
      except
        Exit;
      end;
    end;
  end;
end;



So, jetzt würde ich damit gerne auf z.b. freenet.de gehen und dann meinen Username u. Passwort eintragen zum e-mail abrufen, nun Probier ich das z.b. mit:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button3Click(Sender: TObject);
 begin
  FillForm(TWebBrowser; 'TestField'15)
end;


aber dann kommen natürlich mal wieder "incompatible" types und so, kann jemand nem kleinen neuling wie mir erklären wie ich die funktion am besten nutze oder Tipps für bessere Functions geben?

Danke!!

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 25.12.05 15:43 
Zitat:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button3Click(Sender: TObject);
 begin
  FillForm(TWebBrowser; 'TestField'15)
end;


aber dann kommen natürlich mal wieder "incompatible" types und so, kann jemand nem kleinen neuling wie mir erklären wie ich die funktion am besten nutze oder Tipps für bessere Functions geben?

Danke!!


Ich denke der Code sollte so lauten:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TForm1.Button3Click(Sender: TObject);
 begin
  FillForm(WebBrowser1, 'TestField''15');
end;


Um das ganze für freenet zu optimieren musst du erstmal herausfinden wie der elementname des emailfeldes auf freenet ist. Kannste dort im Quelltext nachsehen...

Noch als kleine Erklärung:
der erste Parameter von FillForm muss eine Webbrowser komponente sein welche auf deinen Forumlar ist. z. B. Webbrowser1, der zweite ist das Feld welches ausgefüllt werden soll, der dritte ist der Wert der ins Feld eingetragen werden soll.

Bye

Moderiert von user profile iconChristian S.: Code- durch Delphi-Tags ersetzt
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 16:56 
Also, hier wieder ein paar Fragen:

Ich hab jetzt den TWeb Browser, man sieht aber nix in dem Browser, was muss ich machen damit eine Startseite angezeigt wird und wie kann ich diese bestimmen?

Wie finde ich z.B. bei google heraus wie ich das Element zum Eintragen der Texte, die man suchen will, heist? Hab im Quelltext nachgeschaut, da steht was von "Google-Suche", soll ich dass dann da eingeben?

ausblenden Quelltext
1:
FillForm(WebBrowser1, 'Google-Suche', '15');					


Danke!!
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 25.12.05 17:16 
Google Suche: www.google.de ;)

oder: Suche in: Delphi-Forum TWEBBROWSER
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 25.12.05 17:21 
Hi,
ein bisschen HTML-Kenntnisse solltest du schon haben wewnn du so ein Programm schreiben willst. input ist in html ein element. name ist der name also die Bezeichnung für das element. (siehe www.selfhtml.de.vu).
ausblenden Google.de Quellcode
1:
<input maxlength=2048 size=55 name=q value="" title="Google-Suche">					


Also ist der Name des Feldes bei Google.de "q". Dein Code muss also lauten:

ausblenden Delphi-Quelltext
1:
FillForm(WebBrowser1, 'q''Mein Such-Text');					


So wird "Mein Such-Text" in den Eingabefeld auf der google-Seite eingetragen. Ob dieses Formular (jedes Eingabeelement das auf normalen Weg verarbeitet werden soll wird in HTML in ein Formular (<form></form>) gesetzt) auch gleich abgesendet wird, weiß ich nicht.

Zu einer Seite kommst du im Webbrowser so:
ausblenden Delphi-Quelltext
1:
webrowser1.navigate('http://www.google.de');					


Hoffe das ich dir helfen konnte....

bye
Flohzirkus94
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 40

Win XP Pro ; Linux 9.0

BeitragVerfasst: So 25.12.05 17:44 
:wink: wie wäre es denn ein programm das nauf die url zugreift??

_________________
Ŵêŗ ħâţ ďãş Ġřąś ŵĕġğëŗâūċħţ???
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 18:01 
Hmmm, das geht jetzt alles, danke schonmal soweit, ihr wart mir echt eine große Hilfe!!

Eins noch:

Giebts n Befehl damit der Browser dann auf nen bestimmten Button klicken kann?


also wirklich nochmal fett danke, ihr habt mir wirklich geholfen!!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 25.12.05 18:21 
user profile iconDie Brotmafia hat folgendes geschrieben:
Hmmm, das geht jetzt alles, danke schonmal soweit, ihr wart mir echt eine große Hilfe!!

Eins noch:

Giebts n Befehl damit der Browser dann auf nen bestimmten Button klicken kann?


also wirklich nochmal fett danke, ihr habt mir wirklich geholfen!!


ausblenden Von Swissdelphicenter.ch
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
// If there is only one button, you can do something like:

WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;

// This will do a click on the first element of the first <FORM>, where an
// element is either <INPUT>, <SELECT> or <TEXTAREA>.


// If there is more than one button, you can do something like:

procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).Value = 'Recent Charges'then
      ovElements.item(i).Click; 
end;


Org. URL: www.swissdelphicente...showcode.php?id=1604
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 18:52 
Hmpf, sorry Leute dass ich so dumm bin und ihr euch irgendwann über mich aufregt, aber:

ausblenden Delphi-Quelltext
1:
WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;					


Hab ich ausprobiert bis


ausblenden Delphi-Quelltext
1:
WebBrowser1.OleObject.Document.forms.item(0).elements.item(12).click;					


Davon gieng nix, da kam immer irgend so nen "Acces Violation error" blabla...


Dann das da:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).Value = 'Recent Charges'then
      ovElements.item(i).Click; 
end;


Hab ich auch ausprobiert, habs einfach so gemacht, damit's auch ja funzt:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'OK!'then
      ovElements.item(i).Click; 
end;


Wobei der Name des Buttons im Quelltext "OK!" heist....

Was mach ich falsch, wie krieg ich das teil ans laufen??

Danke!!

Moderiert von user profile iconGausi: Code- durch Delphi-Tags ersetzt
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 25.12.05 20:06 
Also,
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).Value = 'Recent Charges'then
      ovElements.item(i).Click; 
end;


tagname muss input heißen, type muss bei einen abschicken-button submit heißen (bei eine reset-button muss der type reset sein) und value muss diesmal nicht der name vom html-element sein sondern das value (der wert :-)) Du darfst da nicht einfach was vom quellcode weglassen. Wenn du den Google-Suche-Button drücken möchtest muss der Code also so lauten:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).Value = 'Google-Suche'then
      ovElements.item(i).Click; 
end;


ausblenden Google.de Quelltext
1:
<input type=submit value="Google-Suche" name=btnG>					


Falls das nicht gehen sollte probiers mit so:
ausblenden Ungetestet
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'SUBMIT'and
      (ovElements.item(i).name= 'btnG'then
      ovElements.item(i).Click; 
end;
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 20:23 
Danke dafür!!
Die Sache ist nur leider so:

Das Teil ist ein Button!! (cry)

ausblenden Quelltext
1:
<input type="image" src="/mitglieder_center/diverses/login/frn_DE/sourcen/button_ok.gif" width="45" height="22" border="0" tabindex="3" name="OK!" alt="">					


Es giebt keine Value...

Das ganze Teil giebts hier zu besichtigen:

e-tools.freenet.de/login.php3

Ich will dass er auf den Ok button drückt, im Quelltext heist er "OK!", aber das geht natürlich nicht ....

Aber danke @ Onlinehome dass du dir die Zeit für mich nimmst!
Andreas L.
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1703
Erhaltene Danke: 25

Windows Vista / Windows 10
Delphi 2009 Pro (JVCL, DragDrop, rmKlever, ICS, EmbeddedWB, DEC, Indy)
BeitragVerfasst: So 25.12.05 20:35 
Ein bisschen Eigeninitative bitte ;-)

Ich habe dir doch das alles ganz gut erklärt....

Also:
Der tagName muss weiterhin input bleiben, der type muss image sein und das value wird in name umgewandelt und mit OK! bestückt :-)

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button1Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1do
    if (ovElements.item(i).tagName = 'INPUT'and
      (ovElements.item(i).type = 'IMAGE'and
      (ovElements.item(i).name= 'OK!'then
      ovElements.item(i).Click; 
end;


Evtl. noch Groß- und Kleinschreibung von tagname, type und name beachten/ändern und fertig!
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 21:10 
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
procedure TForm1.Button5Click(Sender: TObject);
var 
  ovElements: OleVariant; 
  i: Integer; 
begin 
  ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements; 
  for i := 0 to (ovElements.Length - 1) do
    if (ovElements.item(i).tagName = 'INPUT') and
      (ovElements.item(i).type = 'IMAGE') and
      (ovElements.item(i).name= 'OK!') then
      ovElements.item(i).Click; 
end;


Genauso hab ichs!

Input ist ja richtig, das ganze ist ein Image und außerdem ist der Name davon "OK!", also was mach ich da bitte noch falsch?

(Es geht nicht :((()
F34r0fTh3D4rk
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 5284
Erhaltene Danke: 27

Win Vista (32), Win 7 (64)
Eclipse, SciTE, Lazarus
BeitragVerfasst: So 25.12.05 21:12 
versuch mal statt IMAGE -> image zu nehmen ;)
ausblenden Quelltext
1:
<input src="login.php3_dateien/button_ok.gif" tabindex="3" name="OK!" alt="" border="0" height="22" type="image" width="45">					

input klein kannst du ja auch mal versuchen, ich weiß nicht, wiesehr das egal ist, in html ansich eigentlich schon ;)


Zuletzt bearbeitet von F34r0fTh3D4rk am So 25.12.05 21:15, insgesamt 1-mal bearbeitet
Die Brotmafia Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 110

Win XP Suse Linux 9.3
Delphi 7 Enterprise, Delphi 2005
BeitragVerfasst: So 25.12.05 21:14 
Hm, geht auch nicht

:(

EDIT: Es geht, jetzt gehts!!!!


Edit2: Sry, geht doch nicht, hatte nur selber auf ok geklickt :(

....

Irgendwelche Tipps noch?


Zuletzt bearbeitet von Die Brotmafia am So 25.12.05 21:19, insgesamt 2-mal bearbeitet