pyautogui 模塊學習

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

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')  # 返回輸入的字符串
相關文章
相關標籤/搜索