分享

delphi WebBrowser获取iframe页面内容

 独孤求财 2012-04-24

delphi WebBrowser获取iframe页面内容


uses MSHTML, ActiveX;

function GetFrame(FrameNo:Integer):IWebbrowser2;
var
OleContainer:IOleContainer;
enum:IEnumUnknown;
unk:IUnknown;
Fetched:PLongint;
begin
while Form1.wb1.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages;
if Assigned(Form1.wb1.document)then
begin
    Fetched:= nil;
    OleContainer:= Form1.wb1.Document as IOleContainer;
    OleContainer.EnumObjects(OLECONTF_EMBEDDINGS,enum);
    Enum.Skip(FrameNo);
    Enum.Next(OLECONTF_EMBEDDINGS,Unk,Fetched);
    Result:=Unk as IWebbrowser2;
end
else Result:=nil;
end;

procedure TForm1.btn3Click(Sender: TObject);
var
doc,frm: IHTMLDocument2;
iw: IWebbrowser2;
i: integer;
begin
doc:=wb1.Document as IHTMLDocument2;
for i:=0 to doc.frames.length-1 do
begin
    iw:=GetFrame(i);
    frm:=iw.Document as IHTMLDocument2;
    mmo1.Lines.Add( '==============Frame '+ IntToStr(i)+ '==================');
    mmo1.Lines.Add(frm.body.outerHTML);
end;
end;


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多