0
private Point GetElementPosition(IHTMLElement current_element)
    {
        int x_add = current_element.offsetWidth;
        int y_add = current_element.offsetHeight;
        int x = current_element.offsetLeft;
        int y = current_element.offsetTop;
        while ((current_element = current_element.parentElement) !=null)
        {
            x+=current_element.offsetLeft;
            y+= current_element.offsetTop;
        }

        y-=(webBrowser.Location.Y);

        return new Point(x+(x_add/2),y-(y_add/2));
    }

这个方法应该计算屏幕上 IHTMLElement 的绝对位置,同时考虑到 webbrowser 控件的位置。然后它返回一个 Point 变量,该变量对应于元素的中点。它出什么问题了?它的目标似乎降低了大约 50-60 像素。编辑:我也尝试了同样的事情,但使用 HtmlElement 而不是 IHTMLElement。没有什么不同。我使用 SetCursorPos 函数将鼠标光标发送到计算结果,但它总是低于所需位置。我没有考虑什么?

4

0 回答 0