Использую IWebBrowser в своем проекте.
На некотороых страницах необходимо найти нужные формы, заполнить данными...
Так вот, создал простой html документ:
<html>
<body>
<form>
</form>
</body>
</html>
Элемент формы был успешно найден... но вот на следующем документе поиск возвращает 0 элементов:
<html>
<script>
</script>
<body>
<form>
</form>
</body>
</html>
Как такое быть может ?
вот часть исходника:
IHTMLDocument2 *iDOM;
iDisp->QueryInterface(IID_IHTMLDocument2,(void**)&iDOM);
IHTMLElementCollection* pColl = NULL;
if (SUCCEEDED(iDOM->get_forms(&pColl)))
{
long cElems;
if (SUCCEEDED(pColl->get_length( &cElems )))
{
for ( int i=0; i<cElems; i++ )
{
VARIANT vIndex;
vIndex.vt = VT_UINT;
vIndex.lVal = 0;
VARIANT var2 = { 0 };
LPDISPATCH pDisp;
if (SUCCEEDED(pColl->item( vIndex, var2, &pDisp )))
{
IHTMLElement* pElem = NULL;
if (SUCCEEDED(pDisp->QueryInterface( IID_IHTMLElement, (LPVOID*)&pElem )))
{
BSTR bstr;
pElem->get_tagName(&bstr);
if (bstr)
{
SysFreeString(bstr);
}
IHTMLFormElement* pForm = NULL;
if (SUCCEEDED(pDisp->QueryInterface( IID_IHTMLFormElement, (LPVOID*)&pForm )))
{
//...
}
}
}
}
}
}