delphi取得webbrowser网页所有框架内容源码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//如里对代码不能理解,请QQ我:QQ号:285856503
procedure TForm1.Button1Click(Sender: TObject);
var
doc2:IHTMLDocument2;
o : Olevariant;
ole_index: OleVariant;
frame_dispatch: IDispatch;
frame_win: IHTMLWindow2;
frame_doc: IHTMLDocument2;
i:integer;
doc,framedoc : IHTMLDocument2;
begin
//以下是分析网页框架内容的重要代码,通过分析框架内容可以取得各个网页控件的资料信息
doc := webBrowser1.Document as IHTMLDocument2;
if doc = nil then Exit;
memo1.Text:='';
for i := 0 to doc.frames.length - 1 do
begin
doc2 := WebBrowser1.Document as IHTMLDocument2;
ole_index:=i;;
frame_dispatch := doc2.Frames.Item(i);
if frame_dispatch <> nil then
begin
frame_win := frame_dispatch as IHTMLWindow2;
frame_doc := frame_win.document;
memo1.lines.add(IHTMLDocument2(frame_doc).body.outerHTML);
End;
//说明以下是:两个****************************************************************之间的内容为一个框架内容,把所有的内容加到Memo控件中进行显示
memo1.Text:=memo1.Text+ #13#10+'****************************************************************'+#13#10;
end;
//取得框架内容后,可以在Memo控件中数一下框架的索引位置,框架索引位置从0开始。Memo中两个****************************************************************之间的内容为一个框架内容
//取得框架索引后就可以按如下源代码对框架内的控件进行读写等操作
// o :=webBrowser1.oleobject.document.documentelement.document.frames.item(2).document.all.item('mbGxysf.xm',0);
//o.value:='test';
end;