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)

即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值