自動(dòng)化工具:PyAutoGUI的鼠標(biāo)與鍵盤控制献烦,解放雙手的利器

PyAutoGUI是一個(gè)簡(jiǎn)單易用,跨平臺(tái)的可以模擬鍵盤鼠標(biāo)進(jìn)行自動(dòng)操作的python庫(kù)与帆。

【閱讀全文】

使用pip的方式安裝pyautogui模塊

pip install pyautogui

pyautogui在使用的時(shí)候有兩個(gè)比較關(guān)鍵的隱患(程序在啟動(dòng)起來(lái)以后很難關(guān)閉)需要注意一下了赌。一是鼠標(biāo)出現(xiàn)在屏幕的最上方會(huì)出現(xiàn)報(bào)錯(cuò),二是鍵盤的自動(dòng)操作太快玄糟,所以需要先設(shè)置一下相關(guān)的參數(shù)勿她。

import pyautogui as ui  # 導(dǎo)入pyautogui代碼塊

ui.FAILSAFE = False  # 關(guān)閉自動(dòng)防御故障的功能

ui.PAUSE = 1  # 設(shè)置鍵盤操作的時(shí)候停頓間隔時(shí)間為1秒

1、鼠標(biāo)的相關(guān)控制

'''獲取屏幕分辨率'''
print(ui.size())
# Size(width=1920, height=1080)
# 屏幕分標(biāo)率:寬:1920px阵翎、高:1080px

'''移動(dòng)鼠標(biāo)到指定位置'''
ui.moveTo(250, 400, duration=1)  # duration 參數(shù)設(shè)置移動(dòng)到指定位置的時(shí)間為1秒鐘

'''按方向移動(dòng)鼠標(biāo)'''
ui.moveRel(200, 300, duration=2)  # 鼠標(biāo)向右移動(dòng)200px逢并、向下移動(dòng)300px,移動(dòng)時(shí)間為2秒鐘

'''獲取當(dāng)前鼠標(biāo)的位置'''
print(ui.position())
# Point(x=450, y=700)

'''單擊鼠標(biāo)'''
ui.click(200, 200, button='left')  # 在屏幕200px郭卫,200px的位置點(diǎn)擊鼠標(biāo)左鍵
ui.click(200, 200, button='right')  # 在屏幕200px砍聊,200px的位置點(diǎn)擊鼠標(biāo)右鍵
ui.click(200, 200, button='middle')  # 在屏幕200px,200px的位置點(diǎn)擊鼠標(biāo)中鍵

'''雙擊鼠標(biāo)'''
ui.doubleClick(200, 200)  # 在屏幕200px贰军,200px的位置雙擊鼠標(biāo)左鍵
ui.rightClick(200, 200)  # 在屏幕200px玻蝌,200px的位置雙擊鼠標(biāo)右鍵
ui.middleClick(200, 200)  # 在屏幕200px,200px的位置雙擊鼠標(biāo)中鍵

'''按下與釋放鼠標(biāo)'''
ui.mouseDown()  # 按下鼠標(biāo)
ui.mouseUp()  # 釋放鼠標(biāo)

'''拖動(dòng)鼠標(biāo)'''
ui.dragTo(200, 300, duration=1)  # 拖動(dòng)鼠標(biāo)到指定位置
ui.dragRel(200, 300, duration=4)  # 按方向拖動(dòng)鼠標(biāo)

'''滾動(dòng)鼠標(biāo)'''
ui.scroll(450)  # 向上滾動(dòng)450個(gè)像素單位

2词疼、鍵盤的相關(guān)控制

'''
pyautogui.keyDown() : 模擬按鍵按下俯树;
pyautogui.keyUp() : 模擬按鍵釋放;
pyautogui.press() : # 就是調(diào)用keyDown() & keyUp(),模擬一次按鍵贰盗;
pyautogui.typewrite('this',0.5) : 第一參數(shù)是輸入內(nèi)容许饿,第二個(gè)參數(shù)是每個(gè)字符間的間隔時(shí)間;
pyautogui.typewrite(['T','h','i','s']):typewrite 還可以傳入單字母的列表舵盈;
'''

ui.keyDown('ctrl')  # 按下ctrl鍵
ui.press('Y')  # 按一下Y鍵
ui.keyUp('ctrl')  # 釋放ctrl鍵

ui.typewrite('YYDS', 0.5)  # 輸入YYDS的字符串陋率,每個(gè)字符之間的時(shí)間間隔是0.5秒

'''一些特定鍵的使用'''

# 可以使用typewrite函數(shù)調(diào)用類似于enter的特殊按鍵
ui.typewrite(['enter'])  # 模擬按一次enter鍵

'''
鍵盤字符串   說明
enter(或return 或 \n) 回車
esc ESC鍵
shiftleft, shiftright   左右SHIFT鍵
altleft, altright   左右ALT鍵
ctrlleft, ctrlright 左右CTRL鍵
tab (\t)    TAB鍵
backspace, delete   BACKSPACE 、DELETE鍵
pageup, pagedown    PAGE UP 和 PAGE DOWN鍵
home, end   HOME 和 END鍵
up, down, left,right    箭頭鍵
f1, f2, f3…. f12    F1…….F12鍵
volumemute, volumedown,volumeup 聲音變大變小靜音(有些鍵盤沒有)
pause   PAUSE鍵秽晚,暫停鍵
capslock    CAPS LOCK 鍵
numlock NUM LOCK 鍵
scrolllock  SCROLLLOCK 鍵
insert  INSERT鍵
printscreen PRINT SCREEN鍵
winleft, winright   Win鍵(windows )
command command鍵(Mac OS X )
option  option(Mac OS X)
'''

可以根據(jù)上面的按鍵處理列表對(duì)應(yīng)的字符串來(lái)使用typewrite函數(shù)處理特殊按鍵瓦糟。

ui.typewrite(['esc'])  # 模擬按一下esc鍵

'''快捷鍵的模擬處理'''

# 程序猿神器:CV大法
ui.hotkey('ctrl','c')  # ctrl + c
ui.hotkey('ctrl','v')  # ctrl + v

也可以使用傳統(tǒng)的方式挨個(gè)按鍵,最后就組合成了的快捷鍵

# 模擬代碼格式化快捷鍵ctrl + alt +l
ui.keyDown('ctrl')
ui.keyDown('alt')
ui.keyDown('l')

# 挨個(gè)釋放這幾個(gè)鍵
ui.keyUp('l')
ui.keyUp('alt')
ui.keyUp('ctrl')

后續(xù)需要做相關(guān)的自動(dòng)化操作爆惧,我們會(huì)做一些相關(guān)的實(shí)例(僅限于學(xué)習(xí)使用的相關(guān)實(shí)例)狸页。

【往期精選】

來(lái)自程序猿的生日蛋糕你見過嗎锨能?

懶人python操作扯再,代碼中永遠(yuǎn)只需要導(dǎo)入一個(gè)庫(kù)...

自動(dòng)化辦公:手機(jī)號(hào)碼提取器,使用正則表達(dá)式輕松提取文本文件中的手機(jī)號(hào)碼...

剛剛發(fā)現(xiàn)的可視化動(dòng)態(tài)圖庫(kù)ipyvizzu址遇,太好看了熄阻!

記住這些windows網(wǎng)絡(luò)操作命令,輕松搞定自己的電腦網(wǎng)絡(luò)倔约!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末秃殉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌钾军,老刑警劉巖鳄袍,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吏恭,居然都是意外死亡拗小,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門樱哼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)哀九,“玉大人,你說我怎么就攤上這事搅幅≡氖” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵茄唐,是天一觀的道長(zhǎng)息裸。 經(jīng)常有香客問我,道長(zhǎng)沪编,這世上最難降的妖魔是什么界牡? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮漾抬,結(jié)果婚禮上拐叉,老公的妹妹穿的比我還像新娘。我一直安慰自己攒钳,他們只是感情好进栽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著平绩,像睡著了一般圈匆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上捏雌,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天跃赚,我揣著相機(jī)與錄音,去河邊找鬼性湿。 笑死纬傲,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的肤频。 我是一名探鬼主播叹括,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼宵荒!你這毒婦竟也來(lái)了汁雷?” 一聲冷哼從身側(cè)響起净嘀,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤侠讯,失蹤者是張志新(化名)和其女友劉穎厢漩,沒想到半個(gè)月后袁翁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柄驻,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年野哭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拨黔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片篱蝇。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涧衙,靈堂內(nèi)的尸體忽然破棺而出弧哎,到底是詐尸還是另有隱情傻铣,我是刑警寧澤非洲,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站梦染,受9級(jí)特大地震影響帕识,放射性物質(zhì)發(fā)生泄漏肮疗。R本人自食惡果不足惜伪货,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望愚臀。 院中可真熱鬧懊悯,春花似錦炭分、人聲如沸捧毛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)泞辐。三九已至咐吼,卻和暖如春锯茄,著一層夾襖步出監(jiān)牢的瞬間肌幽,已是汗流浹背喂急。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工讥蔽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留冶伞,地道東北人响禽。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓界阁,卻偏偏與公主長(zhǎng)得像泡躯,于是被迫代替她去往敵國(guó)和親咕别。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容