Autor Beitrag
s00f
Hält's aus hier
Beiträge: 4

WIN XP, Ubuntu, Suse
Delphi 7 Pers., VS 2003
BeitragVerfasst: Do 12.01.06 19:52 
tach erstmal,

ich weiß das es dieses thema schon zig mal gab, aber alle threads konnten mir nicht wirklich weiterhelfen.
mein programm "soll" sich mit id und passwort auf einer seite einloggen, eine suchmaske ausfüllen und danach den ie mit den ergebnissen anzeigen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  L: TStringList;
begin
  L := TStringList.Create;

  try
    L.Add('id=edit1.text');
    L.Add('pw=edit2.Text');
    IdHTTP1.post('http://www.dieseite.de', L);
  finally
    L.Free;
  end;
end;


nun weiß ich jetzt natürlich nicht ob das auch so funktioniert wie ich mir das gedacht habe.
wie kann ich prüfen, dass ich tatsächlich eingeloggt bin und wie öffne' ich den ie mit der seite und bin gleichzeitig immernoch angemeldet? hab schon etliches versucht, aber ich weiß nicht weiter.

gruß, s00f
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Do 12.01.06 20:49 
ausblenden Delphi-Quelltext
1:
2:
MyVar = IdHTTP1.post('http://www.dieseite.de', L); 
ShowMessage(MyVar);

Gibt den Source der Seite aus, damit kannst du überprüfen ob du eingeloggt bist.

2. Frage kann ich nicht beantworten. Sry.

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
mkinzler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 4106
Erhaltene Danke: 13


Delphi 2010 Pro; Delphi.Prism 2011 pro
BeitragVerfasst: Do 12.01.06 21:13 
user profile icons00f hat folgendes geschrieben:
tach erstmal,

ich weiß das es dieses thema schon zig mal gab, aber alle threads konnten mir nicht wirklich weiterhelfen.
mein programm "soll" sich mit id und passwort auf einer seite einloggen eine suchmaske ausfüllen und danach den ie mit den ergebnissen anzeigen.

Kommt darauf an, wie der Login bzw. Das "Action"-Skript der Suchmaske aussieht.
Werden die Eingaben der Maske ber GET übertragen bzw. ist im übernehmenden Skript globals aktiviert können die Felder der Suchmaske in der Url kodiert übergeben werden.
z.B.
ausblenden Quelltext
1:
such.php?name=name&passwort=passwort					

Bei Übertagung per POST und deaktivierten globals, geht das nicht.
Zitat:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure TForm1.Button1Click(Sender: TObject);
var
  L: TStringList;
begin
  L := TStringList.Create;

  try
    L.Add('id='+edit1.text);
    L.Add('pw='+edit2.Text);
    IdHTTP1.post('http://www.dieseite.de', L);
  finally
    L.Free;
  end;
end;


gruß, s00f

_________________
Markus Kinzler.
s00f Threadstarter
Hält's aus hier
Beiträge: 4

WIN XP, Ubuntu, Suse
Delphi 7 Pers., VS 2003
BeitragVerfasst: Mo 16.01.06 21:05 
so sieht das ganze bei mir aus:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
procedure TForm1.Button3Click(Sender: TObject);
var
  i,j,k: Integer;
  m,a: String;
begin
  waren := TStringList.Create;
  waren.LoadFromFile('waren.txt');
  for i:=0 to waren.count-1 do begin
    a:=waren.Strings[i];
    j:=pos('#',a);
    k:=Length(a);
    m:=copy(a,j+1,k-j);
    Delete(a,j,2);
    WebBrowser1.OleObject.document.forms.item(0).elements.item('Suche').value:=a;
    WebBrowser1.OleObject.Document.forms.item(0).elements.item(8).click;
    WebBrowser1.OleObject.document.forms.item(0).elements.item(12).value:=m;
    WebBrowser1.OleObject.Document.forms.item(0).elements.item(10).click;
    WebBrowser1.OleObject.Document.forms.item(0).elements.item(4).click;
  end;
  waren.Free;
end;


in einer textdatei(waren.txt) sind artikelnummer und menge der artikel gespeichert, diese sollen nacheinander ausgelesen werden.

ausblenden Delphi-Quelltext
1:
for i:=0 to waren.count-1 do begin					


das soll die die artikelnummer(a) in das feld "suche" einfügen

ausblenden Delphi-Quelltext
1:
WebBrowser1.OleObject.document.forms.item(0).elements.item('Suche').value:=a;					


und danach wird der suchbutton gedrückt.

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


jetzt soll die menge der artikel in das formularfeld eingegeben werden.

ausblenden Delphi-Quelltext
1:
WebBrowser1.OleObject.document.forms.item(0).elements.item(12).value:=m;					


und wieder abschicken(damit kommt man zum warenkorb).

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


im warenkorb sollte nun der artikel und die menge eingetragen sein.
jetzt zurück zur suchmaske.

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


wenn ich die ganzen schritte über einzelne buttons verteile funktioniert auch alles, aber nicht nacheinander.
ich hab schon probiert das programm warten zu lassen bis der webbrowser fertig geladen ist, aber ohne erfolg.
hat vielleicht jemand eine idee??


gruß, s00f