WebBrowser

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Madshall
Сообщения: 19
Зарегистрирован: 21 июн 2006, 18:12

Как связать компоненты TWebBrowser и TPageProducer? Цель: получить контент web-страницы в типе WideString, TStrings и т.п.
Blood_Magic
Сообщения: 273
Зарегистрирован: 30 июн 2005, 14:53

поточнее, что нужно? я с этим работал.
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Madshall
Сообщения: 19
Зарегистрирован: 21 июн 2006, 18:12

Браузером открывается страница, а мне нужно работать с ее кодом.
Blood_Magic
Сообщения: 273
Зарегистрирован: 30 июн 2005, 14:53

просто получить код или обновить?
страница с фреймами или нет?
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Madshall
Сообщения: 19
Зарегистрирован: 21 июн 2006, 18:12

страница может быть и с фреймами, но пусть пока без них. обновлять не надо, надо получить код.
Blood_Magic
Сообщения: 273
Зарегистрирован: 30 июн 2005, 14:53

Код: Выделить всё

function GetHTML(iDoc:IHtmlDocument2):string;
var
  str:TStringStream;
begin
  str:=TStringStream.Create('');
  try
    (iDoc as IPersistStreamInit).Save(TStreamAdapter.Create(str),True);
    Result:=str.DataString;
  finally
    str.Free;
  end;
end;

Код: Выделить всё

procedure TfmBrowserForm.WebBrowserDocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  If not assigned((pDisp as IWebBrowser).Document) then Exit;
  (pDisp as IWebBrowser).Document.QueryInterface(IHtmlDocument2,iDoc);
  If not assigned(iDoc) then Exit;
  s:=GetHTML(iDoc);
end;
- Чем юзер похож на обезьяну?
- Он жмет на все, что жмется, дергает все, что дергается и крутит все, что крутится.
- Чем юзер отличается от обезьяны?
- У обезьяны хватает ума не воспроизводить ту последовательность, которая приводит к краху системы.
Ответить