本文主要是介绍python pywin32库 点击操作,用介个在地图画区域,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本人小白,欢迎各位大大指错,接触这个库,是因为用selenium 无法定位到地图中的元素,我要在地图中画区域,完成测试任务,所以我就百度了各种,,,
1、首先是安装环境 win10 python3.6 (打算升级到3.7)这个还是有点坑的,这个记得pycharm 要重启,否则import 会有莫名其妙的问题
pywin32下载 url :https://sourceforge.net/projects/pywin32/files/pywin32/Build%20220/
winSpy17++ :链接:http://pan.baidu.com/s/1cApoXC 密码:bwi5
刚开始尝试貌似没尝到什么甜头,一脸懵逼
winSpy17++
查找句柄 classname titlename 还要强调一点,就是如果获取到句柄返回结果不会小于1
if __name__ == "__main__":# 查找句柄hwnd = win32gui.FindWindow("MozillaWindowClass", "杭州智链达建筑工人服务平台 - Mozilla FireFox")if int(hwnd) <= 0:print("没有找到,退出进程................")exit(0)print("查询到: %s " % hwnd)
获得句柄后,获取焦点,点击操作
click_position(hwnd, 1900, 88)
def click_position(hwd, x_position, y_position):"""鼠标左键点击指定坐标:param hwd::param x_position::param y_position::return:"""# 将两个16位的值连接成一个32位的地址坐标long_position = win32api.MAKELONG(x_position, y_position)# win32api.SendMessage(hwnd, win32con.MOUSEEVENTF_LEFTDOWN, win32con.MOUSEEVENTF_LEFTUP, long_position)# 点击左键win32api.SendMessage(hwd, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, long_position)win32api.SendMessage(hwd, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, long_position)
焦点如何获取呢?qq截图就很好用,记得从左上角到右下角这么进行看(这个是偶然发现),也可以根据比例进行算
这代码运行成功后,应该会点击浏览器的菜单栏
这样就可以更改焦点,想点当前句柄的哪里就点哪里,什么区域,定位不到元素,都去屎吧
2018年11月21日
今天再次用到
场景 :上传文件成功了,但是文件上传还在,影响了我其他操作,
如何关闭呢
hwnd = win32gui.FindWindow('#32770', '文件上传')
win32gui.SendMessage(hwnd, win32con.WM_CLOSE)
即可
这篇关于python pywin32库 点击操作,用介个在地图画区域的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!