请教vc中用cwebBrowser2控件实现网页模拟点击的问题

 我来答
福喜900
推荐于2016-10-15 · TA获得超过6.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:1亿
展开全部
如果只是要实现点击下按钮的话应该可以

你可以遍历所有控件,然后判断是INPUT,判断是BUTTON类型,然后判断ID(通过网站源代码看)是不是这个按钮的,然后就check()就可以了。
C/C++ code

MSHTML::IHTMLElementCollection *objAllElement=NULL;

MSHTML::IHTMLDocument2 *objDocument=NULL;

CString strUrl,strTemp;

strUrl=m_ctrlWeb.GetLocationURL();//得到当前网页的URL

if(strUrl.IsEmpty())

return;

objDocument=(MSHTML::IHTMLDocument2 *)m_ctrlWeb.GetDocument(); //由控件得到IHTMLDocument2接口指针

objDocument->get_all(&objAllElement); //得到网页所有元素的集合

//由于所有页面下载完后都会执行这个函数,所以必须根据URL判断消息来源网页

if(strUrl=="http://reg.email.163.com/mailregAll/reg0.jsp?from=163mail_right" )

{

CComPtr<IDispatch>pDisp;

long lcount = 0;

objAllElement->get_length(&lcount);

for(int i=0;i<lcount;i++)

{

_variant_t index;

index.vt=VT_I4;

index.intVal=i;

IDispatchPtr disp;

disp=objAllElement->item(index,index);

if(disp==NULL)

continue;

else

{

MSHTML::IHTMLInputElementPtr pInput(disp);

if(pInput)

{

BSTR bstrtype;

pInput->get_type(&bstrtype);

//printf(_bstr_t(bstrtype));

if(StrCmpW(bstrtype,L"button")==0)

{

MSHTML:ispHTMLButtonElementPtr pElement(disp);

// pElement=pDisp;

if(pElement)

{

_bstr_t strname=pElement->GetclassName();//>onclick;

if(StrCmpW(strname,L"百度一下")==0)

{

pElement->click();

}

}

}

SysFreeString(bstrtype);

}

}

}

objAllElement->Release();

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式