Pegar fonte html de um webbrowser
Olá pessoal,
saberiam me dizer como pegar o fonte html de uma página acessada sendo q eu não poderia simplesmente pegar o endereço do webbrowser e tentar acessar o fonte por ele pois ops dados de dentro do webbrowser teriam anteriormente sido transmitidos pelo method=Post e não Get, então como pegar o fonte de tal webbrowser?
Valew
saberiam me dizer como pegar o fonte html de uma página acessada sendo q eu não poderia simplesmente pegar o endereço do webbrowser e tentar acessar o fonte por ele pois ops dados de dentro do webbrowser teriam anteriormente sido transmitidos pelo method=Post e não Get, então como pegar o fonte de tal webbrowser?
Valew
Lipsil
Curtidas 0
Respostas
Cebikyn
20/03/2004
Verifique o código fonte em:
[b:529a877227]How to get/save the HTML Code from a TWebbrowser?[/b:529a877227]
http://www.swissdelphicenter.ch/en/showcode.php?id=1112
Mais dicas sobre o componente:
http://www.swissdelphicenter.ch/en/tipsbycomp.php?component=Webbrowser
[b:529a877227]How to get/save the HTML Code from a TWebbrowser?[/b:529a877227]
http://www.swissdelphicenter.ch/en/showcode.php?id=1112
Mais dicas sobre o componente:
http://www.swissdelphicenter.ch/en/tipsbycomp.php?component=Webbrowser
GOSTEI 0
Lipsil
20/03/2004
Verifique o código fonte em:
[b:9e5f040c39]How to get/save the HTML Code from a TWebbrowser?[/b:9e5f040c39]
http://www.swissdelphicenter.ch/en/showcode.php?id=1112
Mais dicas sobre o componente:
http://www.swissdelphicenter.ch/en/tipsbycomp.php?component=Webbrowser
Valew kra, mas agora um problema ocorrre no cód q eu quero:
save all TWebbrowser Frame Sources? (http://www.swissdelphicenter.ch/en/showcode.php?id=2054) ou no cód abaixo:
uses ActiveX; function [b]TForm1.GetFrame[/b](FrameNo: Integer): IWebbrowser2; var OleContainer: IOleContainer; enum: IEnumUnknown; unk: IUnknown; Fetched: PLongint; begin while [b]Webbrowser1[/b].ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; if Assigned(Webbrowser1.document) then begin Fetched := nil; OleContainer := Webbrowser1.Document as IOleContainer; OleContainer.EnumObjects(OLECONTF_EMBEDDINGS, Enum); Enum.Skip(FrameNo); Enum.Next(1, Unk, Fetched); Result := Unk as IWebbrowser2; end else Result := nil; end; // Load sample page // Testseite laden procedure TForm1.Button1Click(Sender: TObject); begin Webbrowser1.Navigate(´http://www.warebizprogramming.com/tutorials/html/framesEx1.htm´); end; // Save all frames in single files // Alle Frameseiten in einzelne Dateien speichern procedure TForm1.Button2Click(Sender: TObject); var IpStream: IPersistStreamInit; AStream: TMemoryStream; iw: IWebbrowser2; i: Integer; sl: TStringList; begin for i := 0 to Webbrowser1.OleObject.Document.frames.Length - 1 do begin iw := GetFrame(i); AStream := TMemoryStream.Create; try IpStream := iw.document as IPersistStreamInit; if Succeeded(IpStream.save(TStreamadapter.Create(AStream), True)) then begin AStream.Seek(0, 0); sl := TStringList.Create; sl.LoadFromStream(AStream); sl.SaveToFile(´c:\frame´ + IntToStr(i) + ´.txt´); // memo1.Lines.LoadFromStream(AStream); sl.Free; end; except end; AStream.Free; end; end;
esta havendo erro de :
[Error] Unit1.pas(33): Undeclared identifier: ´Webbrowser1´
Bem, saberiam o q pode ser?
GOSTEI 0
Cebikyn
20/03/2004
Troque ´WebBrowser1´ pelo nome de seu TWebBrowser...
GOSTEI 0
Lipsil
20/03/2004
hehe, isso aí eu tive capacidade de perceber :p.. rsrsrs
mas não resolveu :(
mas não resolveu :(
GOSTEI 0
Lipsil
20/03/2004
putz.. heheh.. eu não tinha visto q não tinha definido webbrowser1 como twebbrowser :p
foi mal.. mas valeu aí kra ;)
foi mal.. mas valeu aí kra ;)
GOSTEI 0