Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.045 c
4-1157964007
Alex_AA
2006-09-11 12:40
2007.02.04
Считать серийник винта


6-1157030488
DelphiLexx
2006-08-31 17:21
2007.02.04
Отправка SMS с помощью INDY


15-1169034793
Ega23
2007-01-17 14:53
2007.02.04
Ну вот прошёл тестирование


15-1168920267
Slider007
2007-01-16 07:04
2007.02.04
С днем рождения ! 16 января


2-1168667484
TatarinD6
2007-01-13 08:51
2007.02.04
Наверное многим будет полезен





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский