首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

页面元素分析,求解解决思路

2012-03-29 
页面元素分析,求解用Mshtml和IWebBrowser2时遇到了麻烦:CComPtrIWebBrowser2 web_browerIHTMLDocument2

页面元素分析,求解
用Mshtml和IWebBrowser2时遇到了麻烦:
  CComPtr<IWebBrowser2> web_brower;
  IHTMLDocument2 *disp_document2;
web_brower->get_Document((IDispatch* *)&disp_document2);
IHTMLElementCollection *disp_forms;
disp_document2->get_forms(&disp_forms);
到这一步时还没出问题。接下来....
 _variant_t name( "input");
_variant_t ind;
 ind.vt=VT_EMPTY;
 //ind.intVal=0;
 IDispatch *dispx;
  disp_forms->item(name,ind,&dispx);
到这里出问题了,指针dispx为NULL。
从网上搜了些帖子,依然无果,抓狂啊抓狂,跪求解决方法

[解决办法]
COM操作,每一步都需要判断一下是否执行成功,你先确认一下get_forms这一步是否执行成功了?
简单的判断方法:

HRESULT hr = disp_document2->get_forms(&disp_forms);
if (SUCCEEDED(hr))
{
// 执行成功
}
[解决办法]
这样试试:

C/C++ code
VARIANT vID, vTemp;vID.vt = VT_BSTR;vID.bstrVal = L"input";disp_forms->item(vID, vTemp, &dispx); 

热点排行