Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с WebBrowser'ом ...


ТехникПТО ©   (2005-01-25 09:18:00) 

Имееться некая стнаница где есть 2 поля input...
в них нужно ввести свои значения... как это сделать если я использую WebBrowser??
И попутно как нажать на кнопку находящуюся в этом окне??
Помогите плиз.. очень нада!!


ТехникПТО   (2005-01-25 15:41:00) [1]

Спасиба.. нашел...работает;
Нажать определенную кнопку на форме в TWebBrowser
PromoForum.RU: раскрутка сайта, продвижение в поисковых системах, реклама в интернете

// If there is only one button, you can do something like:

WebBrowser1.OleObject.Document.forms.item(0).elements.item(0).click;

// This will do a click on the first element of the first <FORM>, where an
// element is either <INPUT>, <SELECT> or <TEXTAREA>.

// If there is more than one button, you can do something like:

procedure TForm1.Button1Click(Sender: TObject);
var
   ovElements: OleVariant;
   i: Integer;
 begin
   ovElements := WebBrowser1.OleObject.Document.forms.item(0).elements;
   for i := 0 to (ovElements.Length - 1) do
    if (ovElements.item(i).tagName = 'INPUT') and
      (ovElements.item(i).type = 'SUBMIT') and
      (ovElements.item(i).Value = 'Recent Charges') then
      ovElements.item(i).Click;
 end;


ТехникПТО   (2005-01-25 14:50:00) [2]


> iDoc : IHtmlDocument2;
>  iElement:IHTMLElement;
>  iInputElement:IHTMLInputElement;

сорри.. я начинающий :( он вот на это ругаеться типа неизвестный идентификатор...
что это??


Seeker   (2005-01-25 14:46:00) [3]


var
 iDoc : IHtmlDocument2;
 iElement:IHTMLElement;
 iInputElement:IHTMLInputElement;
begin
     WB.ControlInterface.Document.QueryInterface(IHtmlDocument2,iDoc);
   for i:=1 to iDoc.All.Get_length do begin
   iDisp:=iDoc.Get_all.item(pred(i),0);
   iDisp.QueryInterface(IHTMLElement, iElement);
    if assigned(iElement) then
    begin
        iElement.QueryInterface(IHtmlInputElement,iInputElement);
     if assigned(iInputElement) then
            if (AnsiLowerCase(iInputElement.value)=AnsiLowerCase(' Войти ')) then iElement.click;
              end;
   end;
end;


может не работать т.к. выдрал из проекта и почистил...Но идея такая.


ТехникПТО   (2005-01-25 14:23:00) [4]

<TR><TD height="19" align="center">
 <INPUT type=submit class='btn' value=' Войти ' onclick='this.blur()'></TD></TR>
 <TR><TD align="center">
вот так вот кнопка задана...


ТехникПТО   (2005-01-25 13:56:00) [5]


> Примерно так:
> WB.OleObject.Document.all.tags('FORM').item(0).item('ИмяПоля').value:=Sing;
>
> WB.OleObject.Document.all.tags('FORM').item(0).item('ИмяПоля').click();
> если, конечно есть тэг типа FORM,или обойти все тэги...

С полями разобрался... только на событие OnDownLoadComblite он выдает ошибку!!!
А вот с кнопкой разобраться не могу :((


Seeker   (2005-01-25 10:16:00) [6]

Примерно так:
WB.OleObject.Document.all.tags('FORM').item(0).item('ИмяПоля').value:=Sing;

WB.OleObject.Document.all.tags('FORM').item(0).item('ИмяПоля').click();
если, конечно есть тэг типа FORM,или обойти все тэги...


Наверх

Титульная страница Поиск, карта сайта Написать письмо