Internet Explorer — Как получить непосредственный подсчет детей узла HTML в C ++?

Я попытался с этим кодом ниже, который не возвращает правильное количество детей.

    long getHTMLCollectionChildCount (HWND hWnd, POINT point){
RECT rect;
SetRectEmpty(&rect);
CComPtr<IHTMLElement> elementFound;
//This method returns the element based on mouse point
findElement(hWnd, &point, &rect, &elementFound);

CComPtr<IDispatch> pDispatch;
CComPtr<IHTMLDOMNode> pNode;
HRESULT hr;
long lLen = 0L;

if(elementFound){
hr = elementFound->QueryInterface(IID_IHTMLDOMNode, (void**)&pNode);
if (SUCCEEDED(hr) && pNode){
hr = pNode->get_childNodes(&pDispatch);
if (SUCCEEDED(hr) && pDispatch){
CComPtr<IHTMLDOMChildrenCollection> pNodeCollection;
hr = pDispatch->QueryInterface(IID_IHTMLDOMChildrenCollection, (void **)&pNodeCollection);
if (SUCCEEDED(hr) && pNodeCollection){
pNodeCollection->get_length(&lLen);
}
}
}
}
return lLen;

Пожалуйста, не забудьте упомянуть, где это идет не так, или любой фрагмент кода, это будет здорово!

  1. На изображении ниже показано количество детей из c ++ в виде всплывающей подсказки: 9
    Изображение, показывающее количество детей из c ++ в качестве всплывающей подсказки

  2. Изображение ниже, чтобы показать фактическое количество детей из опции разработчика: 4

Изображение ниже, чтобы показать фактическое количество детей от варианта разработчика, который составляет 4

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]