C# IHTMLElement2.getBoundingClientRect()无法正常工作

C# IHTMLElement2.getBoundingClientRect()无法正常工作,c#,element,bho,ihtmldocument,C#,Element,Bho,Ihtmldocument,getBoundingClientRect()并非适用于所有情况。如果说一列链接并排排排成一行,其中一半被推到下一行,那么它就失败了,因为所有链接都不能放在同一行中。现在,对于第2行的第一个链接,getBoundingClientRect()没有给出正确的结果 IHTMLRect.bottom和IHTMLRect.right的值正确,但IHTMLRect.left和IHTMLRect.top的值对应于第一行中的第一个元素 如何获得第二行中第一个链接的精确坐标 这种情况发生在谷歌页面或维基百科页面

getBoundingClientRect()并非适用于所有情况。如果说一列链接并排排排成一行,其中一半被推到下一行,那么它就失败了,因为所有链接都不能放在同一行中。现在,对于第2行的第一个链接,getBoundingClientRect()没有给出正确的结果

IHTMLRect.bottom和IHTMLRect.right的值正确,但IHTMLRect.left和IHTMLRect.top的值对应于第一行中的第一个元素

如何获得第二行中第一个链接的精确坐标

这种情况发生在谷歌页面或维基百科页面上,那里有大量的语言或位置链接

例如,widipedia中的链接说

Deutsch • English • Español • Esperanto • Français • Bahasa Indonesia • Italiano • 
由于布局的原因,将出现如下两行

Deutsch • English • Español • Esperanto • 
Français • Bahasa Indonesia • Italiano • 
在本例中,IHTMLElement2.getBoundingClientRect()可以完美地应用于除Français之外的所有内容


我不知道为什么会发生这种情况,非常感谢您对此问题提供的任何帮助或解决方法。

当我尝试IHTMLElement2.getClientRects()时。它为元素的内部内容逐行提供矩形。因此,解决这个问题变得很棘手