3,245
社区成员
发帖
与我相关
我的任务
分享
CString temp;
this->GetSource(temp);
//temp能正常读取到HTML文本
HRESULT hr = NULL;
CComQIPtr<IHTMLDocument2,&IID_IHTMLDocument2> pDoc2(GetHtmlDocument());
if(!pDoc2)
{
return;
}
CComQIPtr<IHTMLDocument3,&IID_IHTMLDocument3> pDoc3(pDoc2);
if(!pDoc3)
{
pDoc2.Release();
return;
}
CComQIPtr<IHTMLElementCollection> pDisCol;
hr = pDoc3->getElementsByName(elementName.AllocSysString(),&pDisCol);
long nameCount;
pDisCol->get_length(&nameCount);
if(!SUCCEEDED(hr) || nameCount<0)
{
pDoc3.Release();
pDoc2.Release();
return;
}
else
{
CComVariant varName(0);
varName.ChangeType(VT_UINT);
CComVariant varIndex;
CComPtr<IDispatch> pTagetDisp;
hr = pDisCol->item(varName,varIndex,&pTagetDisp);
pDisCol.Release();
if(!SUCCEEDED(hr))
return;
CComQIPtr<IHTMLElement> pElem(pTagetDisp);
if(pElem)
{
pElem->click();//异常
}
pElem.Release();
pTagetDisp.Release();
pDoc3.Release();
pDoc2.Release();
return;
}