Hallo
Ich bin mir nicht sicher wo ich ansetzen soll.
Ich möchte eigentlich mit meinem embedded webbrowser nur auf einer Steite surfen.
http://eurotort.org/
Wenn ich jetzt das Login rechts ausfülle, dann öffnet sich ein IE fenster und verlangt ein weiteres Login.
Mit IE selbst öffnet sich ein neues Fenster und man wird eingeloggt.
Mit dem MiniWebbrowser von Tom wird zwar ein weiterer Tab geöffnet, aber das Login erfolgt erst nach erneuter eingabe der Login Daten.
Hier was ich aus dem Forum bisher zusammengestöpselt habe:
Delphi-Quellcode:
// ausfüllen der Formulardaten
procedure WB_FillPwdForm(WB: TWebbrowser; UsernameField, User, PasswortField, Password:
string);
var
IDoc3: IHTMLDocument3;
Inputs: IHTMLElementCollection;
UID, UPWD: IHTMLElement;
begin
if Assigned(WB.Document)
and
(Succeeded(WB.Document.QueryInterface(IHTMLDocument3, IDoc3)))
then
begin
Inputs := IDoc3.getElementsByName(UsernameField);
if Assigned(Inputs)
then
begin
UID := Inputs.item(0, '
')
as IHTMLElement;
if Assigned(UID)
then
(UID
as IHTMLInputElement).value := User;
end;
Inputs := IDoc3.getElementsByName(PasswortField);
if Assigned(Inputs)
then
begin
UPWD := Inputs.item(0, '
')
as IHTMLElement;
if Assigned(UPWD)
then
(UPWD
as IHTMLInputElement).value := Password;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
//WebBrowser1.Navigate('http://datenbank.ectil.org/query/search.aspx');
WebBrowser1.Navigate('
http://datenbank.ectil.org/query/login.aspx');
//WebBrowser1.Navigate('http://eurotort.org');
//WB_FillPwdForm(Webbrowser1, 'TextBox1','username','TextBox2','password')
end;
// initales auto login
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
begin
{ if startup then
begin
startup := false;
WB_FillPwdForm(Webbrowser1, 'TextBox1','Test','TextBox2','Test');
WebBrowser1.OleObject.document.forms.item(0).Elements.item('Button1', 0).click;
end; }
end;
// Neues Fenster...
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;
var ppDisp: IDispatch;
var Cancel: WordBool);
var
NewWindow: Tform1;
begin
// To create a new instance of the webbrowser application:
NewWindow := TForm1.Create(Self);
NewWindow.Webbrowser1.RegisterAsBrowser := True;
ppDisp := NewWindow.WebBrowser1.DefaultDispatch;
NewWindow.Show;
Cancel := True;
//self.Close;
end;
Ich möchte hauptsächlich, dass das Login akzeptiert wird.
Auto login - ist nur nebensächlich und könnte später interessant werden.
lg
Arnulf
Edit:
Ich hab übrigens auch versucht die logindaten in der adresszeile mit zu schicken
Das funktioniert im IE wunderbar nur mit Twebbrowser nicht - da komm ich immer wieder auf die login seite