Python三方庫PyAutoGUI的使用方法


通過ssh遠程執行腳本的時候,需要加上:

import os
os.environ["DISPLAY"] = ":0" # 注意這行代碼需要寫在"import pyautogui"之前
import pyautogui

1.安裝:

sudo pip3 install python3-xlib
sudo apt-get install scrot
sudo apt-get install python3-tk
sudo apt-get install python3-dev
sudo pip3 install pyautogui

2.暫停和自動放故障

pyautogui.PAUSE = 1,每個執行動作之后,都會等待1s
pyautogui.FAILSAFE = True,啟動自動防故障功能(鼠標移到屏幕的做上角,將導致pyautogui產生pyautogui.FailSafeException異常)在自動化測試項目中,為了不自動跳出用例腳本,通常設置未False

3.鼠標操作

3.1 控制鼠標移動

pyautogui.size() 返回兩個整數元素,包含屏幕的寬和高的像素數。
pyautogui.moveTo(x, y, duration=0.25)移動到某個坐標,duration表示移動到目的位置所需的秒數。
pyautogui.moveRel(x, y, duration=0.25)相對於當前位置移動鼠標。x,y可以為負數

3.2 獲取鼠標位置

pyautigui.positon()返回鼠標的位置

3.3 點擊鼠標

pyautogui.click() 默認左鍵在當前位置點擊
pyautogui.click(x, y, button='left')在指定位置左鍵點擊,button可以為'left','middle','right'
pyautogui.mouseDown()按下不放
pyautogui.mouseUp()釋放鼠標按鍵
pyautogui.doubleClick()雙擊左鍵
pyautogui.rightClick()雙擊右鍵
pyautogui.middleClick()雙擊中鍵

3.4 拖動鼠標

pyautogui.dragTo()鼠標拖動到一個位置
pyautogui.dragRel()相對當前拖到一個距離的位置

3.5 滾動鼠標

pyautogui.scroll(number) 上下滾動的單位

3.處理屏幕

需安裝scrot,才能在pyautogui中使用屏幕快照功能。sudo apt-get install scrot

3.1獲取屏幕快照

image = pyautogui.screenshot() ,image是一個屏幕快照的對象
image.getpixel(x, y) 返回圖像中坐標處的像素對象,返回值是一個RGB元組,包含3個整數。

3.2分析屏幕快照

pyauto.pixelMatchesColor(50, 200,(130,135,144)) >>True

4.圖像識別

實際使用下來有點問題,如果圖標比較小的情況,無法定位,圖像識別建議使用opencv模板匹配

pyautogui.locateOnScreen("xxx.png") >>(643, 745, 70, 29)
返回4個整數的元素,分別是屏幕上首次發現該圖像時左邊的x坐標、頂邊的y坐標、寬度以及高度。
如果該圖像在屏幕上能夠找到多出,locateAllOnScreen()函數將返回一個對象,將它傳給list(),返回一個4整數元組的列表。
list(pyautogui.locateAllOnScreen("xxx.png")) 
pyautogui.center((643, 745, 70, 29)) >>返回圖像區域的中心坐標

5.鍵盤操作

pyautogui.typewrite("message") 輸入內容
pyautogui.typewrite(['ctrl','alt','a','left'])從左到右,先后順序按鍵盤的按鍵
pyautogui.keyDown('shift')按住不放
pyautogui.keyUp()鍵盤松開
pyautogui.press('ctrl')單個按鍵
pyautogui.hotkey('ctrl','c')組合按鍵(同時按)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM