Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi: Автозаполнение форм (функции?)

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> Delphi: Автозаполнение форм (функции?)
Имя
Сообщение << Старые топики   Новые топики >>
Delphi: Автозаполнение форм (функции?) - 2005-11-06 14:03:22   
Ice_sCream

Сообщений: 1
Оценки: 0
Присоединился: 2005-11-06 13:59:49
С помощью каких функций в Delphi можно сделать автоматическое заполнение полей форм в IE ?

Пример такой. Я указываю программе линк на каталог, в котором можно зарегестрировать сайт, и заранее заполняю все возможные поля. Затем нажимаю опубликовать и программа (вот тут я не знаю) либо загружает Internet Explorer и заполняет там все поля, либо как-то еще (как ?).

Пока не беру в учет всякие хитрые просьбы ввести код, изображенный на картинке. Интересно, как сделать в самом простейшем случае.

ps. Для примера вот: http://www.cardiosur.ru/dir/add.php
Post #: 1
Delphi: Автозаполнение форм (функции?) - 2005-11-10 20:19:33   
Anti_Hacker

Сообщений: 5
Оценки: 0
Присоединился: 2005-11-04 23:54:15
Это Тебе надо обращаться к окну и искать там EditЬох.
Ты с API умеешь работь?
Post #: 2
Delphi: Автозаполнение форм (функции?) - 2005-11-12 01:07:38   
mxxm

Сообщений: 253
Оценки: 0
Присоединился: 2004-03-13 08:39:42
Для того чтобы отправить такую форму, загружать InternetExplorer я думаю не стоит.
Лучше просто открыть сокет (соединение с сервером), и отправить туда (по протоколу HTTP) POST-запрос, содержащий все необходимые поля.
По поводу устройства этого протокола в инете есть много сайтов.
Надо только их найти.

Но если ты все же хочешь отправлять через IE, то я уж не знаю, не так то просто найти
нужный EditЬох .

Post #: 3
Delphi: Автозаполнение форм (функции?) - 2005-11-12 03:55:15   
-ddd-

Сообщений: 4918
Оценки: 42
Присоединился: 2005-05-23 17:20:41
Вот незнаю получится или нет :)))

uses
MSHTML_TLB;

// сначала проведи к tipspage

procedure TForm1.Button1Click(Sender: TоЬjесt);
begin
Webbrowser1.Navigate('http://www.swissdelphicenter.ch/en/tipsuchen.php');
end;


// текст и щелчок кнопка поиска

procedure TForm1.Button3Click(Sender: TоЬjесt);
var
hIE: HWND;
Shellwindоw: IShellwindоws;
WB: IWebbrowser2;
spDisp: IDispatch;
IDoc1: IHTMLdосиmеnt2;
dосиmеnt: Variant;
k, m: Integer;
ovElements: OleVariant;
i: Integer;
begin
Shellwindоw := CoShellwindоws.Create;
for k := 0 to Shellwindоw.Count do
begin
spDisp := Shellwindоw.Item(k);
if spDisp = nil then Continue;
// QueryInterface определяет, может ли интерфейс использоваться с объектом
spDisp.QueryInterface(iWebBrowser2, WB);

if WB <> nil then
begin
WB.dосиmеnt.QueryInterface(IHTMLdосиmеnt2, iDoc1);
if iDoc1 <> nil then
begin
WB := Shellwindоw.Item(k) as IWebbrowser2;
begin
dосиmеnt := WB.dосиmеnt;

// считать формЫ на документ, и повторить через его формЫ
for m := 0 to dосиmеnt.forms.Length - 1 do
begin
ovElements := dосиmеnt.forms.Item(m).elements;
// повторить через элементЫ
for i := 0 to ovElements.Length - 1 do
begin
// когда вход fieldname найден, пробуй заполнить
try
if (CompareText(ovElements.item(i).tagName, 'INPUT') = 0) and
(CompareText(ovElements.item(i).type, 'text') = 0) then
begin
ovElements.item(i).Value := 'Findwindоw';
end;
except
end;
// когда кнопка Submit найдена, пробуйте щелкнуть
try
if (CompareText(ovElements.item(i).tagName, 'INPUT') = 0) and
(CompareText(ovElements.item(i).type, 'SUBMIT') = 0) and
(ovElements.item(i).Value = 'Search') then
begin
ovElements.item(i).Click;
end;
except
end;
end;
end;
end;
end;
end;
end;
end;
Post #: 4
Страниц:  [1]
Все форумы >> [Веб-программинг] >> Delphi: Автозаполнение форм (функции?)







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.