Страница 1 из 1

WebBrowser

Добавлено: 31 июл 2006, 12:55
Madshall
Как связать компоненты TWebBrowser и TPageProducer? Цель: получить контент web-страницы в типе WideString, TStrings и т.п.

Добавлено: 01 авг 2006, 13:53
Blood_Magic
поточнее, что нужно? я с этим работал.

Добавлено: 01 авг 2006, 14:59
Madshall
Браузером открывается страница, а мне нужно работать с ее кодом.

Добавлено: 01 авг 2006, 17:26
Blood_Magic
просто получить код или обновить?
страница с фреймами или нет?

Добавлено: 02 авг 2006, 10:27
Madshall
страница может быть и с фреймами, но пусть пока без них. обновлять не надо, надо получить код.

Добавлено: 02 авг 2006, 10:42
Blood_Magic

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

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;