{
This example shows how to automatically fill in a search string
in the "Search Tip" page and click the search button.
}uses
MSHTML_TLB;
// first navigate to tipspage procedure TForm1.Button1Click(Sender: TObject);
begin
Webbrowser1.Navigate("?wurl=www.swissdelphicenter.ch/en/tipsuchen.php");
end;
// Try to access IE instance and fill out the search field with // a text and click the search button procedure TForm1.Button3Click(Sender: TObject);
var
hIE: HWND;
ShellWindow: IShellWindows;
WB: IWebbrowser2;
spDisp: IDispatch;
IDoc1: IHTMLDocument2;
Document: Variant;
k, m: Integer;
ovElements: OleVariant;
i: Integer;
begin
ShellWindow := CoShellWindows.Create;
// get the running instance of Internet Explorer for k := 0 to ShellWindow.Count dobegin
spDisp := ShellWindow.Item(k);
if spDisp = nilthen Continue;
// QueryInterface determines if an interface can be used with an object
spDisp.QueryInterface(iWebBrowser2, WB);
if WB <> nilthenbegin
WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
if iDoc1 <> nilthenbegin
WB := ShellWindow.Item(k) as IWebbrowser2;
begin
Document := WB.Document;
// count forms on document and iterate through its forms for m := 0 to Document.forms.Length - 1 dobegin
ovElements := Document.forms.Item(m).elements;
// iterate through elements for i := 0 to ovElements.Length - 1 dobegin// when input fieldname is found, try to fill out tryif (CompareText(ovElements.item(i).tagName, "INPUT") = 0) and
(CompareText(ovElements.item(i).type, "text") = 0) thenbegin
ovElements.item(i).Value := "FindWindow";
end;
exceptend;
// when Submit button is found, try to click tryif (CompareText(ovElements.item(i).tagName, "INPUT") = 0) and
(CompareText(ovElements.item(i).type, "SUBMIT") = 0) and
(ovElements.item(i).Value = "Search") then// Suchen fьr German begin
ovElements.item(i).Click;
end;
exceptend;
end;
end;
end;
end;
end;
end;
end;
Если Вас заинтересовала или понравилась информация по разработке на Delph - "Автоматическое заполнение web-форм в запущенном IE", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу: Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!