如何从OnDocumentComplete事件中获得当前frame的html代码
生活随笔
收集整理的這篇文章主要介紹了
如何从OnDocumentComplete事件中获得当前frame的html代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近弄的東西,需要獲得一個網頁中所有frame的html代碼.
獲取frame的源碼是在OnDocumentComplete事件的處理函數中進行的. void OnDocumentComplete(IDispatch *pDisp, VARIANT *URL); 參數?IDispatch *pDisp?是當前完成OnDocumentComplete的browser接口.可以通過判斷其與一開始navigate用的webbrowser接口比較,來判斷這個documentcomplete消息是主框架發出還是頁面 參數URL代表當前發出OnDocumentComplete事件的frame的url,每個frame完成都會發出這個事件,這也是在多frame的頁面中會接收到多個OnDocumentComplete消息的原因. //通過pDisp查詢發出當前事件的browser IWebBrowser2Ptr pWebBrowser2; hr = pDisp->QueryInterface(IID_IWebBrowser2,(void **)&pWebBrowser2); //然后從pWebBrowser2獲取document CComPtr<IDispatch> spHTMLDocumentDispath; hr = pWebBrowser2->get_Document(&spHTMLDocumentDispath); CComQIPtr<IHTMLDocument2> spHTMLDocument = spHTMLDocumentDispath; //從spHTMLDocument?中拿body IHTMLElementPtr spBody = NULL ; HRESULT hr = pdc->get_body(&spBody); //用spBody?的get_innerHTML就可以取到frame對應的html代碼了 _bstr_t bstrBody; HRESULT hr = spBody->get_innerHTML(bstrBody.GetAddress());轉載于:https://www.cnblogs.com/Entreri/archive/2012/01/18/2325680.html
總結
以上是生活随笔為你收集整理的如何从OnDocumentComplete事件中获得当前frame的html代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 分享一下:推荐一个网站,练习CSS3
- 下一篇: 32/64位平台printf uint6