摘要:參考文章安裝官網(wǎng)介紹可以模擬移動鼠標,單擊鼠標,用鼠標拖動,按鍵,按住鍵,還可以按鍵盤熱鍵組合。鼠標雙擊,其實就是執(zhí)行兩次函數(shù)。鍵盤操作輸入文字如果是中文鍵是復(fù)制精確控制鍵盤按鍵的按下和釋放和鼠標按鍵非常類似。
參考文章:http://www.chenxm.cc/post/547...
安裝
pip install pyautogui
官網(wǎng):
http://pyautogui.readthedocs.io/en/latest/
github:
https://github.com/asweigart/pyautogui
介紹:
PyAutoGUI可以模擬移動鼠標,單擊鼠標,用鼠標拖動,按鍵,按住鍵,還可以按鍵盤熱鍵組合。
基礎(chǔ)操作
>>> import pyautogui # 獲取屏幕尺寸 >>> screenWidth, screenHeight = pyautogui.size() # 獲取當(dāng)前坐標位置 >>> currentMouseX, currentMouseY = pyautogui.position() # 鼠標移動到坐標為100,150的位置 >>> pyautogui.moveTo(100, 150) # 鼠標左擊 >>> pyautogui.click() # 鼠標移動10個像素 >>> pyautogui.moveRel(None, 10) # move mouse 10 pixels down # 鼠標雙擊 >>> pyautogui.doubleClick() >>> pyautogui.moveTo(500, 500, duration=2, tween=pyautogui.easeInOutQuad) # use tweening/easing function to move mouse over 2 seconds. # 鍵盤輸入Hello world! 間隔為0.25秒 >>> pyautogui.typewrite("Hello world!", interval=0.25) # type with quarter-second pause in between each key # 按鍵 esc >>> pyautogui.press("esc") # shift按下 >>> pyautogui.keyDown("shift") # 按鍵左方向鍵 >>> pyautogui.press(["left", "left", "left", "left", "left", "left"]) # shift彈起 >>> pyautogui.keyUp("shift") # 組合件 ctrl +c >>> pyautogui.hotkey("ctrl", "c")
保護措施:
PyAutoGUI函數(shù)增加延遲為2.5秒:
import pyautogui pyautogui.PAUSE = 2.5
當(dāng)pyautogui.FAILSAFE = True時,如果把鼠標光標在屏幕左上角,PyAutoGUI函數(shù)就會產(chǎn)生pyautogui.FailSafeException異常。
import pyautogui pyautogui.FAILSAFE = True
鼠標操作:
移動
import pyautogui width, hight = pyautogui.size() pyautogui.moveTo(width/2, hight/2) # 基本移動 pyautogui.moveTo(200, 200, duration=2) # 移動過程持續(xù)2s完成 pyautogui.moveTo(None, 100) # X方向不變,Y方向移動到100 pyautogui.moveRel(-40, 500) # 相對位置移動
拖拽
拖拽的意思是:按下鼠標鍵并拖動鼠標。PyAutoGUI提供了兩個函數(shù):dragTo() 和 dragRel()。它的參數(shù)和moveTo() 和 moveRel() 一樣。
pyautogui.click(941, 34, button="left") pyautogui.dragRel(0, 100, button="left", duration=5)
點擊
click()函數(shù)就是讓鼠標點擊,默認是單擊左鍵,參數(shù)可以設(shè)置: pyautogui.click(x=moveToX, y=moveToY, clicks=num_of_clicks, interval=secs_between_clicks, button="left")
其中,button屬性可以設(shè)置成left,middle和right。
pyautogui.doubleClick():鼠標雙擊,其實就是執(zhí)行兩次click()函數(shù)。 pyautogui.rightClick():右擊 pyautogui.middleClick():中擊 pyautogui.tripleClick( pyautogui.click(300, 400, button="right") # 包含了move的點擊,右鍵 pyautogui.click(clicks=2, interval=0.25) # 雙擊,間隔0.25s雙擊左鍵
pyautogui.click(clicks=2)兩次單擊之間停留0.25秒
pyautogui.click(clicks=2, interval=0.25)三擊右鍵
pyautogui.click(button="right", clicks=2, interval=0.25)
鼠標按下和松開兩個事件可以分開處理:
pyautogui.mouseDown(x=moveToX, y=moveToY, button="left") pyautogui.mouseUp(x=moveToX, y=moveToY, button="left")
滾輪
它只接受一個整數(shù)。如果值為正往上滾,值為負往下滾。
pyautogui.scroll(-10)
鍵盤操作
輸入文字
pyautogui.click(100, 200) pyautogui.typewrite("hello world!")如果是中文鍵是復(fù)制
精確控制鍵盤
按鍵的按下和釋放 和鼠標按鍵非常類似。
keyDown():按下某個鍵 keyUp():松開某個鍵 press():一次完整的擊鍵,前面兩個函數(shù)的組合。 pyautogui.press("shift") # 切換輸入法的中英文 pyautogui.press(["#", " "]) # press 可以對單個字符或者列表進行操作 pyautogui.press(["c", "h", "e", "n"]) pyautogui.press(["x", "i","n"]) pyautogui.press(["m", "i", "n","g"]) pyautogui.press(" ") # 陳新明
組合鍵hotKey
pyautogui.hotkey("shift", "a") # 可以使用組合鍵,等同于以下代碼 """ pyautogui.keyDown("shift") pyautogui.keyDown("a") pyautogui.keyUp("shift") pyautogui.keyUp("a")
"""
截圖
import pyautogui im1 = pyautogui.screenshot() im2 = pyautogui.screenshot("my_screenshot.png") screenshot()需要花費100毫秒
如果你不需要截取整個屏幕,還有一個可選的region參數(shù)。你可以把截取區(qū)域的左上角XY坐標值和寬度、高度傳入截取。
im = pyautogui.screenshot(region=(0, 0, 300 ,400))
讀取截圖的圖片
import pyautogui pyautogui.locateOnScreen("my_screenshot.png")
原文:http://www.chenxm.cc/post/633...
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/42104.html
摘要:實現(xiàn)各種個樣的撩妹鼠標拖尾系統(tǒng)的拖尾已經(jīng)無法滿足我們了,女朋友叫你把鼠標拖尾換成她的照片,讓你時時刻刻都可以看見她,這個要求你答不答應(yīng)。二文藝型拖尾這個拖尾殺傷力不大,侮辱性極強,給自己增加工作。 python-tkinter(7) 實現(xiàn)各種個樣的撩妹鼠標拖尾 系統(tǒng)的拖尾已經(jīng)無法滿足我們了...
摘要:我發(fā)現(xiàn)我的粉絲量漲的很慢,這次厚臉皮要波關(guān)注。這次做的是一個小巧的游戲腳本,本質(zhì)上它可以用于任意的電腦與手機游戲。分析這個游戲是上的別猜百塊兒,意思就是讓咱們只踩黑塊,然后會給我們彈一手音樂。越趨近于說明顏色越黑。 目錄 前言 分析(x0) 分析(x1) ????????那么如何去確定這個像...
摘要:概述是一款開源的自動化框架,模擬用戶操作瀏覽器的行為,主要用于界面自動化瀏覽器兼容性測試。將瀏覽器原生的封裝成,作為編程語言與瀏覽器通信的橋梁,從而達到操作瀏覽器的目的。 ...
閱讀 2252·2023-04-26 00:00
閱讀 3452·2021-09-24 10:37
閱讀 3623·2021-09-07 09:58
閱讀 1586·2019-08-30 15:56
閱讀 2273·2019-08-30 13:11
閱讀 2366·2019-08-29 16:38
閱讀 1057·2019-08-29 12:58
閱讀 1976·2019-08-27 10:54