無論什么自動化,都避免不了模擬一些鼠標操作,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))