Показать сообщение отдельно
  #1  
Старый 19.04.2013, 08:51
Pcrepair
 
Сообщения: n/a
По умолчанию Программное управление TWebBrowser

Добрый день. Есть код:

Код:
var
  Main: TMain;
  Data:Variant;

implementation
uses MSHTML;
(*загрузка Гугля*)
procedure TMain.Button1Click(Sender: TObject);
var
SmUrl,HtmlCode:string;
Flags, TargetFrameName, PostData, Headers: Olevariant;
Document:IHTMLDocument2; (*Перем типа*)
begin
  Wbbr.Navigate(Edit1.Text, Flags, TargetFrameName, PostData, Headers);
  Document:=Wbbr.Document as IHTMLDocument2;
  if Assigned(Document) then               
  HtmlCode:=Document.body.innerHtml;
  Memo1.Text:=HtmlCode;
end;

(*находим форму ввода поисковых слов и вводим их*)
procedure TMain.Button2Click(Sender: TObject);
var
I,J:integer;
begin
  for I := 0 to (Wbbr.OleObject.Document.forms.Item(0).Elements.Length-1) do
    begin
      if Wbbr.OleObject.Document.Forms.Item(I).Elements.Name='f' then
        Data:=Wbbr.OleObject.Document.Forms.Item(I).Elements;
        Break;
    end; (*находим нужную форму по имени*)

  for J := 0 to (Data.Length-1) do
    begin
      if (Data.Item(J).Name='q') then Data.Item(J).Value:=Edit2.Text;
    end;  (*копируем в строку ввода на странице символы из ЕДИТ2*)

end;

(*находим кнопку начать поиск и программно жмем ея*)
procedure TMain.Button3Click(Sender: TObject);
var J:integer;
begin
  for J := 0 to (Data.Length-1) do
    begin
      if (Data.Item(J).value='Поиск в Google') then
      //(Wbbr.Document as IHTMLDocument2).ParentWindow.Focus;
      Data.Item(J).Click;
    end;
end;

Практически все работает, но если после нажатия на Батон2 не кликнуть на ТВебБраузер мышью, то при нажатии на Батон3 загрузка страницы не присходит
Если кто в курсе, скажите что не так еще.
Ответить с цитированием