pyautogui 模塊學習


在日常實施中,我們用控件對大部分的網頁和客戶端都能進行拾取操作。但是仍有一小部分的應用無法進行操作。這里我常用到 pyautogui 這個模塊。下面做個分享。

Python 的 pyautogui 模塊實現鼠標的自動移動以及鍵盤的自行輸入. 該模塊不是 Python 自帶的, 因此執行以下命令進行安裝

# pyautogui模塊依賴image模塊,沒有image會報ImportError: No module named ‘PIL‘錯誤

pip install image

pip install pyautogui

官方文檔介紹:https://pyautogui.readthedocs.io/en/latest/

import pyautogui

'''1.size(): 用於獲取屏幕分辨率'''
print("電腦當前的分辨率:",pyautogui.size())
print(type(pyautogui.size()))

'''2.moveTo(): 用於鼠標的移動 '''
pyautogui.moveTo(100,100,duration=1)

'''3.moveRel(): 根據當前位置, 相對移動鼠標指針'''
pyautogui.moveRel(0, 300, duration=1)

'''4.position(): 獲取當前鼠標指針的位置'''
print("獲取當前鼠標位置:",pyautogui.position())

''' 5.click(): 用於控制鼠標點擊和拖拽 '''
pyautogui.click(370, 120)
doubleClick() 雙擊
rightClick() 右擊

"""
6.有兩個與鼠標拖拽操作相關的函數: dragTo 和 dragRel. 它們的行為與 moveTo 和 moveRel 類似, 
區別在於拖拽操作在移動的過程中, 會保持鼠標左鍵被按下.
該功能可用於不同的場景, 比如移動對話框,或在 Windows 的畫板程序中用鉛筆工具自動繪圖
"""
import pyautogui
import time
time.sleep(5)  # 5秒種時間切換到畫板程序

pyautogui.moveTo(200, 200, duration=1)  # 鼠標移動到(200,200)的位置
pyautogui.dragRel(100, 0, duration=1)    #相對移動
pyautogui.dragRel(0, 100, duration=1)    #相對移動
pyautogui.dragRel(-100, 0, duration=1)   #相對移動
pyautogui.dragRel(0, -100, duration=1)   #相對移動


""" 7.scroll(): 滾屏函數接受像素數作為參數, 並用給定的像素數向上滾屏 """
pyautogui.scroll(200)    #向上回滾
#對選中的窗口進行向上滾屏200個像素點.當值為負數時,向下移動

'''8. typewrite(): 用於自動鍵入字符串, 只需將要鍵入的字符串傳遞給函數作為參數即可 '''
pyautogui.click(1000,400)
pyautogui.typewrite("hello word!")
#假設文本區域位於屏幕 (100, 200) 的坐標位置, 那么這段代碼將點擊文本區域, 激活它, 並鍵入‘hello word!

""" 9.傳遞鍵名: 可以向 typewrite() 函數傳入分離的鍵名 """
pyautogui.typewrite(['a','left','ctrlleft'])
#這段代碼等價於: 鍵入 "a", 然后敲擊左方向鍵, 再敲擊左 ctrl 鍵.

"""   10.熱鍵組合: hotkey() 可以模擬組合熱鍵, 比如: ctrl-c, ctrl-a, ctrl-v 等  """
# 1.模擬ctrl-v,復制功能
pyautogui.hotkey('ctrlleft','v')
# 等價於
pyautogui.keyDown('ctrl')
pyautogui.keyDown("shift")
pyautogui.keyDown('esc')
pyautogui.keyUp('esc')
pyautogui.keyUp('shift')
pyautogui.keyUp('ctrl')

""" 11.press() :鍵盤功能按鍵"""
pyautogui.press("enter")  #鍵盤輸入一個 entr
pyautogui.press("f1")     # press the F1 key
pyautogui.press("left")    #按左箭頭鍵

""" 消息彈窗函數 """
#如果你需要消息彈窗,通過單擊OK暫停程序,或者向用戶顯示一些信息,消息彈窗函數就會有類似JavaScript的功能:
pyautogui.alert('這個消息彈窗是文字+OK按鈕')  # 返回OK
pyautogui.confirm('這個消息單擊OK') # 返回輸入的字符串彈窗是文字+OK+Cancel按鈕‘) # 返回OK 或 Cancel
pyautogui.prompt('這個消息彈窗是讓用戶輸入字符串,單擊OK')  # 返回輸入的字符串

  

 


免責聲明!

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



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