iwebbrowser2 c 读取返回html,IWebBrowser2的方法
时间: 2024-06-07 13:11:53 浏览: 92
通过窗口句柄获得IWebBrowser2和IHTMLDocument2接口
5星 · 资源好评率100%
IWebBrowser2 接口提供了许多方法来操作浏览器控件,其中包括读取返回的 HTML 内容。
以下是使用 IWebBrowser2 接口读取返回 HTML 的基本步骤:
1. 获取 IWebBrowser2 接口指针:
```
IWebBrowser2* pWebBrowser = NULL;
CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_SERVER, IID_IWebBrowser2, (void**)&pWebBrowser);
```
2. 导航到指定的 URL:
```
BSTR url = SysAllocString(L"http://www.example.com");
VARIANT vEmpty;
VariantInit(&vEmpty);
pWebBrowser->Navigate(url, &vEmpty, &vEmpty, &vEmpty, &vEmpty);
SysFreeString(url);
```
3. 等待页面加载完成:
```
while (pWebBrowser->Busy || pWebBrowser->ReadyState != READYSTATE_COMPLETE)
{
Sleep(100);
}
```
4. 获取返回的 HTML 内容:
```
IDispatch* pDocDispatch = NULL;
pWebBrowser->get_Document(&pDocDispatch);
if (pDocDispatch)
{
IHTMLDocument2* pHtmlDoc = NULL;
pDocDispatch->QueryInterface(IID_IHTMLDocument2, (void**)&pHtmlDoc);
if (pHtmlDoc)
{
BSTR bstrHtml = NULL;
pHtmlDoc->get_body()->get_innerHTML(&bstrHtml);
if (bstrHtml)
{
// 处理返回的 HTML 内容
SysFreeString(bstrHtml);
}
pHtmlDoc->Release();
}
pDocDispatch->Release();
}
```
注意:上述代码只是基本示例,实际应用中需要添加错误处理和释放资源的代码。
阅读全文