使用WebBrowser控件获取网页源码的方法
使用WebBrowser控件獲取網頁源碼的方法,網上有很多介紹,但絕大多數的人都是使用以下的方法獲取:
(WebBrowser1.Document as IHtmlDocument2).body.outerHtml;
我以前也是這么用的,這種方法的美中不足就是只能獲取網頁<body>與</body>之間的網頁源碼,而<body>之外如<head>部分的網頁源碼就獲取不到了,本人在網上搜了很久,終于找到解決方法。好的東西不敢獨享,現將這種方法共享出來:
procedure TForm1.Button1Click(Sender: TObject);
var
? ole_index, oleObj: OleVariant;
? i: integer;
begin
? if WebBrowser1.Busy then Exit;??//網頁加載中,退出。
? Memo1.Lines.Clear;
??//獲取主框架網址及網頁源碼
? Memo1.Lines.Add(WebBrowser1.OleObject.document.url);
? Memo1.Lines.Add(WebBrowser1.OleObject.document.documentElement.outerHTML);
? Memo1.Lines.Add(' '); Memo1.Lines.Add(' ');?//添加空行
??//循環獲取每一個子框架網址及網頁源碼
? for i := 0 to WebBrowser1.OleObject.document.frames.length - 1 do
? begin
??? ole_index := i;
??? oleObj := WebBrowser1.OleObject.document.frames.item(ole_index);
??? Memo1.Lines.Add(oleObj.document.url);
??? Memo1.Lines.Add(oleObj.document.documentElement.outerHtml);
??? Memo1.Lines.Add(' '); Memo1.Lines.Add(' ');?//添加空行
? end;
end;
總結
以上是生活随笔為你收集整理的使用WebBrowser控件获取网页源码的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 今天看到{飞鸽传书2009}
- 下一篇: 在状态栏中插入类似进度条的可视控件