delphi 获取元素相对屏幕的位置

由于需要点击验证码刷新,所以需要获取其相对屏幕的位置,代码如下:

var
doc:IHTMLDocument3;
ele2:IHTMLElement2;
p:TPoint;
begin
 doc:=WebBrowser1.Document as IHTMLDocument3;
 ele2:=doc.getElementById('captchaImg') as IHTMLElement2;这里元素类型也是很重要的
 p.X:=ele2.getBoundingClientRect.left+20; //获取相对于浏览器的坐标
 p.Y:=ele2.getBoundingClientRect.top+15;
 p:=WebBrowser1.ClientToScreen(p);//转化为相对屏幕的坐标
 SetCursorPos(p.X,p.Y);聚焦并点击
 mouse_event(MOUSEEVENTF_LEFTDOWN,0,0,0,0);
 mouse_event(MOUSEEVENTF_LEFTUP,0,0,0,0);
end;

你可能感兴趣的:(delphi)