Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
ВнизЗаполнить поле в WebBrowser1 Найти похожие ветки
← →
ssss (2007-01-19 21:16) [0]Добрый всем день!
Поджскаите мне пожалуйста как можно программно автоматический заполнить поле в WebBrowser1??например у меня есть чистая страница и там одно поле как мне программно туда вбить текст, заведомо мне нужный который на форме будет нвходиться допустим в Edit???
Искал в ниете примеры и находил только те которые исполюзуют модуль MSHTML_TLB а без него никак?
← →
Dmitrij_K (2007-01-19 21:32) [1]MSHTML_TLB == MSHTML
← →
FindWindow (2007-01-19 21:43) [2]2Dmitrij_K спс большое использовал этот модуль вот с этим кодом и при нажатие кнопки поля че то не заполнялись на странице "http://www.swissdelphicenter.ch/en/tipsuchen.php" н подскажите в чем проблема?
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 do
begin
spDisp := ShellWindow.Item(k);
if spDisp = nil then Continue;
// QueryInterface determines if an interface can be used with an object
spDisp.QueryInterface(iWebBrowser2, WB);
if WB <> nil then
begin
WB.Document.QueryInterface(IHTMLDocument2, iDoc1);
if iDoc1 <> nil then
begin
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 do
begin
ovElements := Document.forms.Item(m).elements;
// iterate through elements
for i := 0 to ovElements.Length - 1 do
begin
// when input fieldname is found, try to fill out
try
if (CompareText(ovElements.item(i).tagName, "INPUT") = 0) and
(CompareText(ovElements.item(i).type, "text") = 0) then
begin
ovElements.item(i).Value := "FindWindow";
end;
except
end;
// when Submit button is found, try to click
try
if (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;
except
end;
end;
end;
end;
end;
end;
end;
end;
← →
palva © (2007-01-19 22:21) [3]Странно, а у меня заполняется. Может быть вы открыли страницу на форме Delphi, а не в эксплорере? Там не заполняется.
← →
ssss (2007-01-20 11:44) [4]а вот как именно на форме в WebBrowser1 заполнить а не в ИЕ....
← →
easy © (2007-01-20 13:38) [5]http://dfc.com.ru/?sid=2&id=9&itemid=26
← →
ssss (2007-01-20 19:12) [6]Это создает страницу а надо что б уже на готовой странице....
← →
easy © (2007-01-20 20:11) [7]
> Это создает страницу
Это создаёт вполне готовую страницу
← →
ssss (2007-01-21 11:22) [8]
> Это создаёт вполне готовую страницу
Вот именно что создает а мне надо на готовой странице допустим даже на этой http://delphimaster.net/view/2-1169230580/ в прошлом примере показанно как на это странице заполняються поля в ИЕ а мне нужно что б в WebBrowser1....
← →
palva © (2007-01-21 14:44) [9]Все равно непонятно. Так что ли?
procedure TForm1.FormCreate(Sender: TObject);
begin
WebBrowser1.Navigate(
"http://delphimaster.net/view/2-1169230580/");
end;
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
input_text,textareas:OleVariant;
i:integer;
begin
input_text:=WebBrowser1.OleObject.document.all.tags("INPUT");
textareas:= WebBrowser1.OleObject.document.all.tags("TEXTAREA");
for i:=0 to input_text.length-1 do
if input_text.item(i).type="text" then
input_text.item(i).value:=input_text.item(i).name;
for i:=0 to textareas.length-1 do
textareas.item(i).value:=textareas.item(i).name;
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.066 c