我正在寻找获得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;
}