相信我,你以后一定會用到。實在不行,你先收藏,做個收藏家,等拿出來,就值錢了。
第一步:安裝并導入相關模塊
只需要安裝PyUserInput,如下:
pip install PyUserInput
如果你是Win10系統,肯定會報錯,具體怎么解決,我放在文章結尾講,先把主要思路講完。
安裝完成導入:
from pymouse import PyMouse
from pykeyboard import PyKeyboard
這里不要奇怪,為什么明明安裝的是PyUserInput,卻要從pymouse和pykeyboard中導入。你可以把PyUserInput理解成一個快遞盒子,里面裝了pymouse和pykeyboard兩個東西。
第二步:實例化兩個類
主要就依賴于第一步中導入的兩個類
m = PyMouse()
k = PyKeyboard()
第三步:實現自動點擊與輸入
m.click(500, 600)
k.type_string('hello')
k.tap_key(k.enter_key)
上面的含義就是先讓鼠標在屏幕坐標為(500,600)的地方點擊一下,接著輸入“hello”,然后再按回車。需要注意的是,這里只能輸入英文。
下面是疑問解答
1:如何輸入中文?
如果想輸入中文,需要借助pyperclip這個包曲線救國,直接用pip安裝:
pip install pyperclip
然后用pyperclip.copy()方法,接收中文內容, 再結合上文的兩個類實現粘貼:如下:
from pymouse import PyMouse
from pykeyboard import PyKeyboar
import pyperclip
m = PyMouse()
k = PyKeyboard()
pyperclip.copy("你好") # 復制中文內容
m.click(500, 600) # 打算粘貼到的坐標位置
k.press_key(k.control_key) # 長按control鍵
k.tap_key('v') # 點按v鍵
k.release_key(k.control_key) # 再松開control鍵
2:如何獲取屏幕中點的坐標?
我墻裂建議大家下載Snipaste這個截圖軟件。
打開該軟件,會自動隱藏在右下角任務欄,直接按F1即可截圖,并會看到當前鼠標在屏幕中的坐標位置。如果按F1沒反應,可能存在熱鍵沖突,建議修改一下Snipaste的快捷鍵,比如我改成了Ctrl+S,如下:
我就不鼓吹這軟件有多好用了,反正我是處女座的,用完都說好。本文的代碼可以不掌握,但Snipaste必須得下載,保證你用完后立馬告別QQ截圖。
3:win10怎么安裝PyUserInput?
win10直接安裝PyUserInput會報錯,提示需要安裝pyHook 。但是pyHook 并不能直接使用pip安裝,要去下面的網址下載pyHook對應的whl文件:
http://www.lfd.uci.edu/~gohlke/Pythonlibs/
然后再使用pip安裝:
pip install D:DownloadspyHook-1.5.1-cp37-cp37m-win_amd64.whl
這時候再安裝PyUserInput,結果還是報錯,提示需要安裝pywin32。但pywin32也不能直接通過pip安裝,好在pywin32這個庫不需要下載whl文件,那怎么安裝呢?
需用管理員身份打開命令行,然后將目錄切換到你python.exe所在的目錄,再輸入如下命令:
python.exe Scriptspywin32_postinstall.py -install
這樣就成功安裝了pywin32,接著再使用pip就能安裝PyUserInput啦!
4:能實現什么功能?
上面的代碼比較簡單,僅僅告訴大家如何實現自動點擊,以及自動輸入,只能說是授之以漁。
想要實現一些有趣的功能,需靈活結合一些其它的Python基本知識,比如結合循環語句以及time.sleep方法,每隔幾秒點擊某個輸入框,再輸入某些文字,再點擊發送按鈕,實現彈幕自動發送功能,如下:
除此之外,還能實現什么功能,就看各位的腦洞啦,相信我,你以后肯定會用到