无论什么自动化,都避免不了模拟一些鼠标操作,pywinauto模块中也存在模拟鼠标操作方法
mouse
mouse是pywinauto一个模拟鼠标的方法库,可以帮助模拟鼠标操作,直接输入坐标就可以了。
坐标起始是在电脑屏幕的左上角开始计算。如下图:
使用方法: from pywinauto import mouse
使用鼠标操作,一般就是单击,右击。双击。长按,拖动。滑动等操作。这些pywinauto都可以帮助我们进行实践的
鼠标单击
源码:
def click(button='left', coords=(0, 0)): """单击指定的坐标""" _perform_click_input(button=button, coords=coords
使用方法:直接进行填入坐标。
# coding:utf-8 from pywinauto import mouse # 鼠标左键 mouse.click(coords=(28,50))
鼠标右击
源码:
def right_click(coords=(0, 0)): """右击指定的坐标"" _perform_click_input(button='right', coords=coords)
使用方法:
# coding:utf-8 from pywinauto import mouse # 鼠标右键 mouse.right_click(coords=(900,400))
鼠标双击
源码:
def double_click(button='left', coords=(0, 0)): """双击指定的坐标""" _perform_click_input(button=button, coords=coords, double=True)
使用方法:
# coding:utf-8 from pywinauto import mouse # 鼠标双击 mouse.double_click(coords=(900,400))
鼠标长按
这个长按安静理解一般可以和释放鼠标一起用,理解成我们使用的拖动
源码:
def press(button='left', coords=(0, 0)): """按下鼠标按钮""" _perform_click_input(button=button, coords=coords, button_down=True, button_up=False)
使用方法:
# coding:utf-8 from pywinauto import mouse # 鼠标长按 mouse.press(coords=(900,400))
鼠标释放
源码:
def release(button='left', coords=(0, 0)): """Release the mouse button""" _perform_click_input(button=button, coords=coords, button_down=False, button_up=True)
使用方法:
# coding:utf-8 from pywinauto import mouse # 释放鼠标位置 mouse.release(coords=(900,400))
滑动鼠标
源码:
def scroll(coords=(0, 0), wheel_dist=1): """做鼠标滚轮""" if wheel_dist: _perform_click_input(button='wheel', wheel_dist=wheel_dist, coords=coords)
使用方法:
# coding:utf-8 from pywinauto import mouse # 鼠标上下滑动 # 数字 > 0 :向上滑动,数字 < 0 :向下滑动 mouse.scroll(coords=(900,400),wheel_dist=-1)
小试牛刀
我们通过上面的方法,然后进行实践,看看效果如何
这里安静把长按和释放放在一起了,可以更直观的看到状态
# coding:utf-8 from pywinauto import mouse import time # 鼠标左键 mouse.click(coords=(350,52)) time.sleep(2) mouse.click(coords=(900,400)) # 鼠标上下滑动 # 数字 > 0 :向上滑动,数字 < 0 :向下滑动 mouse.scroll(coords=(900,400),wheel_dist=-5) # 鼠标右键 mouse.right_click(coords=(900,400)) time.sleep(2) time.sleep(2) # 鼠标双击 mouse.double_click(coords=(1571,347)) time.sleep(5) # 鼠标长按 mouse.press(coords=(900,400)) time.sleep(2) # 释放鼠标位置 mouse.release(coords=(1333,357))