代码是我的网页类的一部分,只要取得IWebBrowser2了就可以用。
IWebBrowser2 *m_pIWebBrowser2
BOOL CXWebBrowser::ClickElementByID(PWCHAR pID)
{
BOOL bRet = FALSE;
IDispatch *pDispatch = NULL;
IHTMLDocument3 *htmlDoc3 = NULL;
IHTMLElement *pElement = NULL;
if (pID == NULL) return bRet;
__try
{
if (m_pIWebBrowser2->get_Document(&pDispatch) != ERROR_SUCCESS) __leave;
if (pDispatch == NULL) __leave;
if (pDispatch->QueryInterface(IID_IHTMLDocument3, (void**)&htmlDoc3) != ERROR_SUCCESS) __leave;
if (htmlDoc3 == NULL) __leave;
htmlDoc3->getElementById(pID, &pElement);
if (pElement == NULL) __leave;
pElement->click();
bRet = TRUE;
}
__finally
{
if (pElement) pElement->Release();
if (htmlDoc3) htmlDoc3->Release();
if (pDispatch) pDispatch->Release();
}
return bRet;
}
本文介绍如何利用IWebBrowser2接口获取网页文档并根据ID定位元素进行点击操作,实现自动化网页交互。
978

被折叠的 条评论
为什么被折叠?



