Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 03:50 04.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Попълване на web форма от Delphi  
АвторMisho (Нерегистриран)
Публикувано07.12.06 19:14



Има ли лесен начин за въвеждане на данни в полетата на web форма и натискането на Submit бутона чрез Delphi, когато формата е заредена в произволен браузър?



Тема Re: Попълване на web форма от Delphiнови [re: Misho]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано08.12.06 16:41



За произволен браузер - почти сигурно не

За Internet Exploder - да.

чети и дишай по-леко

Тема Re: Попълване на web форма от Delphiнови [re: Pechenia]  
АвторMisho (Нерегистриран)
Публикувано10.12.06 12:54



Ами на първо време и само за IE да е, ще свърши работа. Удари едно рано, моля :)



Тема Re: Попълване на web форма от Delphiнови [re: Misho]  
Автор PecheniaМодератор (нема лабаво ;-)
Публикувано11.12.06 12:25



в примера е показано обхождане на всички инстанции на IE и извличането на интерфейса Document към сорса в това IE.
Оттук нещата са лесни - попълването на един елемент от страницата става чрез DOM на IE, например ако имаш таг:
<input type=text id=password>
то попълването му става с:
Document.password.value:='bla-bla';
За да се ползва ефективно, трябва да се знае DOM-а, например човек да е писал повечко JavaScript.

Има постановки за адресирането във форми, фреймове, при липса на id атрибути и прочее, но това вече е извън обхвата на въпроса ти. Та с две думи задачата ти е:
1) да извлечеш интерфейса Document
2) да попълниш елементите - имена, пароли и т.н.
3) да submit-неш формата
Успех.


uses
...,shDocvw,MSHTML;

procedure TForm1.Button1Click(Sender: TObject) ;
var
ShellWindows: TShellWindows;
ShellWindowDisp: IDispatch;
WebBrowser: IWebbrowser2;
Document: IHTMLDocument2;
Count: integer;
begin
BrowserList.Clear;
ShellWindows := TShellWindows.Create(nil) ;
try
for Count := 0 to ShellWindows.Count - 1 do
begin
ShellWindowDisp := ShellWindows.Item(Count);
if ShellWindowDisp = nil then Continue;
ShellWindowDisp.QueryInterface(iWebBrowser2, WebBrowser);
if WebBrowser.LocationURL = '' then Continue;
if Assigned(WebBrowser.Document) and (pos ('http://....',WebBrowser.LocationURL)>0)then
begin
Document:=WebBrowser.Document as IHTMLDocument2;
BrowserList.Items.Add (copy (Document.body.innerHTML,1,100));
end;
end;
finally
ShellWindows.Free;
end;
end;


чети и дишай по-леко


Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.