获得IHTMLElement的位置

时间:2015-11-09 09:21:33

标签: c#

我正在寻找获得IHTMLElement的x,y位置的解决方案。 我正在使用此代码来获取输入元素的位置并且它可以正常工作

mshtml.HTMLDocument htmlDoc = browser.Document as mshtml.HTMLDocument;
mshtml.IHTMLElement ele = htmlDoc.getElementById("input-ex");

在进一步的代码中我试图按标签名称获取按钮的位置,但我只是接收器零值offsetLeft,offsetTop,offsetParent,...

mshtml.IHTMLElementCollection searchElement = htmlDoc.getElementsByName      ("btnSet");

for (int i = 0; i < searchElement.length; i++)
{
  objElement = (mshtml.IHTMLElement)searchElement.item(i, 0);
  findPosX(objElement);
}

public static int findPosX(mshtml.IHTMLElement obj)
{
 if (obj == null)
       return 0;

int curleft = 0;
if (obj.offsetParent != null)
{
    while (obj.offsetParent != null)
    {
        curleft += obj.offsetLeft;
        obj = obj.offsetParent;
    }
}

return curleft;
}

0 个答案:

没有答案