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