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函数将鼠标光标发送到计算结果,但它始终低于所需位置。我没有考虑什么?