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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| procedure TForm1.Button1Click(Sender: TObject);
var{mettre MSHTML_TLB et SHDocVw_TLB dans les uses}
o:OleVariant;
doc: ihtmldocument2;
BodyElement: IHTMLElement;
CodeHTML: string;
Collection: IHTMLElementCollection;
IDP: IDispatch;
i:integer;
InputButton:HTMLInputButtonElement;// HTMLInputImage;
begin
try
WebBrowser1.Navigate(WideString('http://www.google.com'),o,o,o,o);
{pour vous je pense qu'il faudra mettre : WebBrowser1.Navigate('http://www.google.com');}
showmessage('attendez la fin de chargement de la page avant de continuer');
{pour éviter cette attente, on peut mettre le code ci dessous dans l'événement WebBrowser1DocumentComplete, ce sera plus logique}
doc:= (WebBrowser1.document as ihtmldocument2);
if assigned(doc) then
begin
IDP:= Doc.all.tags('input');
if Assigned(IDP) then
begin
IDP.QueryInterface(IHTMLElementCollection, Collection);
if Assigned(Collection) then
begin
for i := 1 to Collection.Get_length do
begin
IDP:= Collection.item(pred(i), 0);
IDP.QueryInterface(HTMLInputButtonElement{HTMLInputImage}, InputButton);
if Assigned(InputButton) then
begin
if InputButton.Name = 'btnI' then//j'ai mis les 2 possibilités d'appel
begin
showmessage('le bouton a été trouvé, on va cliquer dessus');
InputButton.Click;
end;
end;
end;
end;
end;
end;
{if assigned(doc) then
begin
BodyElement:=doc.body;
showmessage('OK');
CodeHTML:= BodyElement.innerHTML;
Richedit1.text:=CodeHTML;//code source de la page HTML
end;}
except
end;
end; |
Partager