博客 / 詳情

返回

gui自動化—1.控制鼠標

前期準備:

使用pyautogui包 進行操作

一切操作的基礎得先理解座標,以屏幕左上為座標原點,水平方向為x軸,方向向右;垂直方向為y軸,方向向下。例如屏幕分辨率為1920×1080,那麼左上為(0,0),右下為(1919,1079)

獲取像素:

pyautogui.size()返回兩個整數,分別為屏幕寬和高的像素數

pyautogui.position()返回兩個整數,分別為當前鼠標位置的座標(x,y)

那麼開始操作鼠標

控制鼠標:

 

鼠標無非以下幾種基本操作:

點擊,移動,拖動,滾輪滑動

點擊:

pyautogui.click(x,y,button="H")

該函數作用為 鼠標點擊(x,y)座標,x和y也可不標註默認鼠標當前位置,button參數為左右鍵,參數為左鍵“left”,右鍵“right”,默認左鍵

下列參數一致

pyautogui.mouseDown()    只按下左鍵

pyautogui.mouseUp()      只鬆開左鍵

pyautogui.doubleClick()     左鍵雙擊

pyautogui.rightClick()      右鍵點擊

pyautogui.middleClick()     中間點擊

 

移動:

絕對移動:

pyautogui.moveTo(x,y,duration=a)

該函數作用為將鼠標移動到(x,y)座標下,duration參數為移動的時間,可以是整數或浮點數,默認為0

pyautogui.moveTo(100, 100)
for i in range(3):
    pyautogui.moveTo(100, 100, duration=1)
    pyautogui.moveTo(1800,100, duration=1)
    pyautogui.moveTo(1800,900, duration=1)
    pyautogui.moveTo(100,900, duration=1)

 例子為將鼠標移動到(100,100)然後開始以1秒一條邊的方式在平面上畫框

相對移動:

pyautogui.moveRel(x1,y1,duration=a)

該函數作用為將鼠標座標(x,y)移動到(x+x1,y+y1)的座標下,duration參數為移動的時間,可以是整數或浮點數,默認為0

pyautogui.moveTo(800, 100)
for i in range(3):
    pyautogui.moveRel(400, 800, duration=1)
    pyautogui.moveRel(-600,0, duration=1)
    pyautogui.moveRel(200,-800, duration=1)

  例子為將鼠標移動到(800,100)然後開始以1秒一條邊的方式在平面上畫三角

拖動:

絕對拖動:

pyautogui.dragTo(x1,y1,duration=a)

 該函數作用為將鼠標拖動到(x,y)座標下,duration參數為移動的時間,可以是整數或浮點數,默認為0,注意設置一下該參數,時間太短容易報錯【系統也是需要反應時間的

相對移動:

pyautogui.dragRel(x1,y1,duration=a)

該函數作用為將鼠標從(x,y)座標拖動到(x+x1,y+y1),參數相同,注意設置一下

滑輪滾動:

pyautogui.scroll(a)

在當前鼠標位置滾動a個單位,正值向上,負值向下

 
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.