void dlg_playcominfo::DocumentCompleted(IDispatch *disp, VARIANT *&url)
{
CComPtr<IDispatch> pDisp = NULL;
CComPtr<IWebBrowser2> wb =m_browser->GetWebBrowser2();
if(SUCCEEDED( wb->get_Application(&pDisp)))
{
if(disp == pDisp) //表示加载完成(iframe取消)
{
std_string u;
u =url->bstrVal;
CComPtr<IDispatch> pPre = NULL;
CComPtr<IHTMLDocument2> pDocTemp = NULL;
if(u.iContains("18000/index.php/client/qqlogin"))
{
if(SUCCEEDED(wb->get_Document(&pPre))) //get_Document
{
if(SUCCEEDED(pPre->QueryInterface(IID_IHTMLDocument2, (void **)&pDocTemp)))
{
CComPtr<IHTMLWindow2> pWin;
if(SUCCEEDED(pDocTemp->get_parentWindow(&pWin))){
VARIANT res;
std_wstring ep(elseParams);
std_wstring temp;
temp.AppendFormat(L"getimgurl(%s);",ep.c_str());
BSTR js = SysAllocString(temp.c_str());
BSTR jst = SysAllocString(L"javascript");
HRESULT hr = pWin->execScript(js,jst,&res);
SysFreeString(js);
SysFreeString(jst);
}
}
}
}
else if(u.iContains("sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url"))
{
if(SUCCEEDED(wb->get_Document(&pPre))) //get_Document
{
if(SUCCEEDED(pPre->QueryInterface(IID_IHTMLDocument2, (void **)&pDocTemp)))
{
CComPtr<IHTMLElementCollection> pAllElem = NULL;
HRESULT hr = pDocTemp->get_all(&pAllElem);//get_all
if(SUCCEEDED(hr) && pAllElem)
{
LONG lcount;
hr = pAllElem->get_length(&lcount);
if(SUCCEEDED(hr))
{
VARIANT ElemName;
VARIANT ElemIndex;
int k =0;
for(int i=0; i<lcount; i++) //遍历
{
/
CComPtr<IDispatch> pDisp2 = NULL;
ElemName.vt = VT_INT;
ElemName.intVal = i;
ElemIndex.vt = VT_INT;
ElemIndex.intVal = i;
hr = pAllElem->item(ElemName, ElemIndex, &pDisp2);
if(SUCCEEDED(hr) && pDisp2)
{
CComPtr<IHTMLElement> pElement2 = NULL;
hr = pDisp2->QueryInterface(IID_IHTMLElement, (void**)&pElement2);
if(SUCCEEDED(hr) && pElement2)
{
BSTR bStrTagName2,clsn;
if(SUCCEEDED(pElement2->get_tagName(&bStrTagName2)))
{
if (_wcsicmp(bStrTagName2, L"SPAN")==0)
{
if(SUCCEEDED(pElement2->get_className(&clsn)) && clsn )
{
if(_wcsicmp(clsn, L"btn_s1_h28_r")==0 ) //类名
{
pElement2->click();
}
}
}
}
}
}
//
}
}
}
}
}
}
}
}
}
C++模拟网页点击
最新推荐文章于 2025-03-01 09:31:00 发布