Показать сообщение отдельно
  #8  
Старый 03.02.2009, 20:36
Аватар для Admin
Admin Admin вне форума
Администратор
 
Регистрация: 03.10.2005
Адрес: Россия, Москва
Сообщения: 1,551
Версия Delphi: Delphi 7
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Lion-Tiger
Как нажать на кнопку в webbrowser???
Пример с ДелфиВорлд не работает.......
В конце процедуры есть нажатие на кнопку...

Код:
var
 i: integer;
 s,Comm: string;
 Disp: IDispatch;
 Doc: IHtmlDocument2;
 Uni: IHTMLSelectElement;
 Element,pChild: IHTMLElement;
 InputElement: IHTMLInputElement;
begin
 ListBox1.Clear;

 Doc:=WebBrowser1.Document as IHtmlDocument2;

 // Memo2.Lines.Add(Doc.Body.innerHTML);

 for i:=1 to Doc.All.Length do
  begin
   Disp:=Doc.All.Item(Pred(i),0);
   Disp.QueryInterface(IHTMLElement,Element);

   if Assigned(Element)
   then
    begin
     Element.QueryInterface(IHTMLInputElement,InputElement);
     // выбор элемента
     if Element.TagName='SELECT'
     then
      begin
       Element.QueryInterface(IHTMLSelectElement,Uni);

       Disp.QueryInterface(IHTMLElement,pChild);

       if Assigned(pChild)
       then
        begin
         s:=IntToStr(i)+' tag='+Element.TagName+' ';
         pChild.QueryInterface(IHtmlInputElement,InputElement);

         if Assigned(InputElement)
         then
          begin
           s:=s+'name='+InputElement.Get_Name;
           s:=s+'value='+InputElement.Get_Value;
           s:=s+'type='+InputElement.Get_Type_;
          end;
         ListBox1.Items.Add(s);
        end;

       {pChild:=Element;

       if Element.Contains(pChild)=true
       then
        begin
         // Disp:=Element. .Children;
         // Disp.QueryInterface(IHTMLElement,pChild);

         if Assigned(pChild)
         then
          begin
           pChild.QueryInterface(IHTMLInputElement,InputElement);
           // выбор элемента
           if pChild.TagName='OPTION'
           then
           else
          end;
        end;}

       if Assigned(Uni)
       then
        begin
         if (Uni.Name='data[city]') or (Uni.Name='data[subway]')
         then
          begin
           Uni.SelectedIndex:=1;
           // ListBox1.Items.Add('Select= '+Uni.Name);
           // ListBox1.Items.Add('Select= '+Uni.Type_);
           // ListBox1.Items.Add('Select= '+Uni.Value);
          end;
        end;
      end;
     //
     // нажатие на кнопку
     if Assigned(InputElement)
     then
      begin
       if InputElement.Name='logout'
       then
        begin
         if Comm<>'ClickButton'
         then InputElement.value:='test'
         else Element.click;

         ListBox1.Items.Add('NAME= '+InputElement.Name);
        end;
      end;
    end;
  end;
end;
Ответить с цитированием