用python控制键盘_【python黑科技-pyautogui】教你用python控制滑鼠与键盘
今天來聊聊python中非常酷炫的功能,
控制滑鼠與鍵盤,
理論上,如果你程序功力非常強的話,
甚至可以用這個模組寫出一個「游戲插件」,
讓程序操控你的滑鼠與鍵盤幫你玩游戲
本文測試環(huán)境: anaconda, spyder, python3.7
安裝
pyautogui并非內(nèi)建模組,
需要用pip install pyautogui安裝
注意事項
由于你把滑鼠與鍵盤交給電腦控制,
程序邏輯需小心撰寫,
避免自己不小心就無法控制自己的滑鼠
安全措施:
在程序內(nèi)加上
pyautogui.PAUSE = 3
使程序每次使用pyautogui的函數(shù)前暫停三秒再執(zhí)行,
在暫停三秒的期間快速移動滑鼠關(guān)掉程序
一、滑鼠篇
取得滑鼠座標(biāo)
import pyautogui
import time
width, height = pyautogui.size() # 取得螢?zāi)粚挾取⒏叨?/p>
print(width, height)
#每隔一段時間取得滑鼠座標(biāo)
for i in range(20):
time.sleep(1) # 暫停一秒
xloc, yloc = pyautogui.position() # 獲得滑鼠游標(biāo)
print(xloc,yloc, end='\r', flush= True)
程序的意思是先取得自己電腦的螢?zāi)粚挾取⒏叨?#xff0c;
然后在for迴圈中,
每隔一秒鐘印出你現(xiàn)在的滑鼠座標(biāo)
移動滑鼠
要移動滑鼠有moveTo和moveRel兩種方法,
分別指定滑鼠是以「絕對位置」還是「相對位置」
兩個實例(duration參數(shù)設(shè)置移動的時間):
絕對位置
"""
程序功能: 讓滑鼠移到指定位置
"""
import pyautogui
x,y = 300,300
for i in range(3):
pyautogui.moveTo(x,y,duration=0.5)
pyautogui.moveTo(x+1200,y,duration=0.5)
pyautogui.moveTo(x+1200,y+400,duration=0.5)
pyautogui.moveTo(x,y+400,duration=0.5)
相對位置
"""
程序功能: 讓滑鼠移動某個位移
"""
import pyautogui
for i in range(3):
pyautogui.moveRel(300,0,duration=0.5)
pyautogui.moveRel(0,300,duration=0.5)
pyautogui.moveRel(-300,0,duration=0.5)
pyautogui.moveRel(0,-300,duration=0.5)
按下滑鼠
用click()可以讓滑鼠按下再放開,
基礎(chǔ)語法為:click(x, y, button='xxx')(xxx可以是left, middle, 或right,若不指定預(yù)設(shè)按滑鼠左鍵)
舉例來說:
import pyautogui
pyautogui.click(300, 400, button='right', duration=1)
這個指令可以讓滑鼠花一秒鐘移動到座標(biāo)(300, 400)的位置,
然后按下滑鼠右鍵
click()可以讓滑鼠按下再放開的動作,
如果要拆解成「按下」和「放開」兩個動作,
可以用mouseDown()和mouseUp()
拖曳滑鼠
若是想要「拖曳滑鼠」(按住滑鼠左鍵不放,移動滑鼠直到目的地再放開),
可以用dragTo/dragToRel指令,
概念與moveTo/moveRel差不多
二、鍵盤篇
基礎(chǔ)輸入的指令為typewrite()(注意不能輸出中文),
首先執(zhí)行程序:
import pyautogui
import time
print("請在5秒內(nèi)打開記事本并設(shè)為焦點視窗")
time.sleep(5) #程序暫停五秒,讓你有時間打開記事本
pyautogui.typewrite(['H','e','l','l','o'],0.1) #每隔0.1秒輸出一個字
然后打開你電腦上的記事本,
便可以用每隔0.1秒輸出一個字的速度打出Hello了
就先簡介到這邊啦,讀者如有興趣深究,首推參考資料的這本書,
相信應(yīng)該寫的比小馬更詳細(xì)
參考資料
(書本) Python入門邁向高手之路王者歸來/ 出版社:深石/ 作者: 洪錦魁
推薦:
okteto終極玩法-改造為"VPS"教程
qqq409640976大佬: 繼上一帖子,的初級玩法:https://www.hostloc.com/thread-666705-1-1.html 此教程,可以在okteto上搭建一個接近VPS的c…
【心得】無瑕的程序碼
大師說的 BjarneStroustrup 我喜歡我的程序優(yōu)雅又有效率。 邏輯直截了當(dāng),使的錯誤無處可躲。 盡量降低程序的相依性,以減輕維護上的功夫。 Booch Clean Code是簡單又直接明了…
總結(jié)
以上是生活随笔為你收集整理的用python控制键盘_【python黑科技-pyautogui】教你用python控制滑鼠与键盘的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信更新对html影响,微信再次大更新
- 下一篇: python组合数据分类_Python解