Entwickler-Ecke

Internet / Netzwerk - Fragen zu TWebBrowser?


jackie05 - Do 19.06.08 06:25
Titel: Fragen zu TWebBrowser?
Hallo,
ich habe ein kleines problem mit TWebBrowser Komponent und zwar geht es um folgendes:
In meinem Projekt wird z.B. eine Seite in WebBrowser geladen und ich möchte das wenn die Seite fertig geladen ist, den Button in HTML automatisch betätigt.
Das Problem ist, das dieser Button kein Namen zugewiesen wurde und deshalb findet der Code den Button nicht in HTML.

Hier ist mal mein Code:

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:
// Click einen Button  
// Übergabe:
// Webbroweser: Webbrowser, der die aktuelle Seite enthält  
// FieldName  : Name des Button  
// Rückgabe  
// Result     : true  -> kein Fehler
//            : false -> Feld existiert nicht  
//                       oder kein Dokument geladen
function WbBtnClick(WebBrowser: TWebBrowser; FieldName: string): Boolean;
var
  Field: TPoint;
begin
  // Position des Felds holen
  if not WbFindField(WebBrowser, FieldName, Field) then
  begin
    Result := false;  // Feld existiert nicht
    exit;             // Ende
  end;
  try
    // CheckBox setzen
    WebBrowser.OleObject.Document.forms.Item(Field.x).Item(Field.y).Click;
    Result := True;
  except
    Result := false;
    Exit;
  end;
end;



Delphi-Quelltext
1:
2:
3:
4:
5:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  WbBtnClick(WebBrowser1, 'Login');
end;


könnte man es auch anders lösen, das ich kein Name des Buttons benötige?

Ich bedanke mich schonmal für die Hilfe.

MfG


mkinzler - Do 19.06.08 07:38

Wäre es nicht ausreichend einfach form.submit() aufzurufen?
http://www.cryer.co.uk/brian/delphi/twebbrowser/twebbrowser_oleobject.htm


MKSlayer - Fr 27.06.08 08:29

oder du simmulierst einen klick auf die coordinaten des buttons