我希望使用C#中的COM webbrowser控件编写一个程序。以下是我编写的代码:
myEles = webBrowser1.Document.All;
foreach (HtmlElement myEle in myEles)
{
if (myEle.TagName == myTag)
{
if (i == myIndex)
{
return myEle;
}
i++;
}
}
我希望将它转换成QT。我注意到Qaxobject是必不可少的。但是当枚举myEles中的元素时,我仍然卡住了,在QT中尝试的代码如下:
int i = 0;
QAxObject* myEles = ui.MyWebView->querySubObject("Document");
myEles = myEles->querySubObject("All");
QAxObject* myEle;
int myCnt = myEles->dynamicCall("Count").toInt();
for (int j = 0;j < myCnt;j++)
{
myEle = myEles->querySubObject("[int]", j);
if(myEle->property("TagName") ==myTag)
{
if (i == myIndex)
{
myEle->dynamicCall("InvokeMember(const QString&)", "click");
return myEle;
}
i++;
}
}
在这种情况下,我甚至无法获得正确的myCnt。我不知道该如何正确写入它。
我已经尝试了qt foreach,但仍然没有解决问题。