用 Python 控制你的鼠標(biāo)和鍵盤(pán),然后愛(ài)怎么玩怎么玩
可能有時(shí)候你需要在電腦做一些重復(fù)的點(diǎn)擊或者提交表單等操作,如果能通過(guò) Python 預(yù)先寫(xiě)好相關(guān)的操作指令,讓它幫你操作,然后你自己愛(ài)干嘛干嘛去,有點(diǎn) “按鍵精靈” 的意思,是不是感覺(jué)有點(diǎn)爽呢?
那么如何使用 Python 來(lái)控制我們的鼠標(biāo)和鍵盤(pán)呢?
接下來(lái)就是:
學(xué)習(xí) Python 的正確姿勢(shì)
你可以通過(guò) pip 進(jìn)行安裝:
python3?-m?pip?install?pyautogui

也可以寫(xiě)一個(gè)方法來(lái)實(shí)時(shí)獲取鼠標(biāo)的位置:

通過(guò) while 循環(huán)不斷監(jiān)聽(tīng)鼠標(biāo)當(dāng)前的位置,運(yùn)行一波就是這樣:

想要調(diào)用鼠標(biāo)的點(diǎn)擊方法可以這樣:
單擊:
>>> pyautogui.click()
>>> pyautogui.click(button='right')
雙擊:
>>> pyautogui.doubleClick()
比如現(xiàn)在我的桌面有一張帥照:

想使用 Python 來(lái)操作鼠標(biāo)去打開(kāi)它,那么就可以這樣,把鼠標(biāo)輕輕的放在帥照上面,然后獲取一下鼠標(biāo)在這個(gè)位置的坐標(biāo):

可以發(fā)現(xiàn)這張照片的位置是在 (74,197),那么就可以調(diào)用鼠標(biāo)的雙擊方法:

我們?cè)?doubleClick 方法中傳入了坐標(biāo)位置,所以它可以將鼠標(biāo)移動(dòng)的位置進(jìn)行雙擊。
當(dāng)然,你也可以調(diào)用 moveTo 方法來(lái)移動(dòng)鼠標(biāo),比如讓鼠標(biāo)移動(dòng)到 100,200 的位置就可以這樣:
pg.moveTo(100,200,2)

這里的 2 是移動(dòng)秒數(shù)的意思,默認(rèn)為 0.1 ,快速移動(dòng)的那種。
想要拖拽鼠標(biāo),可以調(diào)用 dragTo 方法,比如:
pg.dragTo(300, 400, 2, button='left')

表示的是從當(dāng)前位置拖動(dòng)到指定坐標(biāo)的位置,其中的 2 代表移動(dòng)時(shí)間,button 可以設(shè)置是左鍵還是右鍵。

接著我們來(lái)操作鍵盤(pán)
可以同過(guò) press 來(lái)調(diào)用鍵盤(pán)的操作,比如:
按下回車(chē):
>>> pyautogui.press('enter')
按下左鍵:
>>> pyautogui.press('left')
按下 CTRL:
>>> pyautogui.press('ctrl')
快捷鍵的話可以使用 hotkey 方法,比如:
按下 Ctrl + Shift + T:
>>> pyautogui.hotkey('ctrl', 'shift', 't')
復(fù)制:
>>> pyautogui.hotkey('ctrl', 'c')
按住不動(dòng)可以使用 keyDown 方法,釋放按鍵可以使用 keyUp 方法,比如:
切換窗口:

運(yùn)行一波就是這樣:

剛剛的 pg.PAUSE=1 指的是每隔一秒執(zhí)行一個(gè)操作指令。
想要控制鍵盤(pán)輸入內(nèi)容,可以使用 write 方法,比如:
輸入 fxxkpython:
pg.write('fxxk Python !', interval=0.3)

知道了這些你就可以去玩一些有意思的事了,舉幾個(gè)簡(jiǎn)單的例子給你樂(lè)呵樂(lè)呵。
比如指定它去瀏覽器搜索內(nèi)容:

運(yùn)行一波就是這樣:

是不是有點(diǎn) selenium 的內(nèi)味了。
又比如操作它去微信聊天:

運(yùn)行一波:

再舉一個(gè)官方的例子,你可以讓它去畫(huà)圖:

運(yùn)行一波就是這樣:

ok,以上就是小帥b今天給你帶來(lái)的分享,看完這個(gè),自動(dòng)填寫(xiě)表單啥的不在話下了吧?希望對(duì)你有幫助,那么我們下回見(jiàn),peace!

掃一掃
學(xué)習(xí) Python 沒(méi)煩惱

