在某些情況下,如果我們需要進(jìn)行自動(dòng)化操作的應(yīng)用沒有提供相應(yīng)的接口,我們無法直接通過Python來調(diào)用API實(shí)現(xiàn)自動(dòng)化。這種情況下,Python也不是完全沒有辦法的,我們可以采用模擬鍵盤和鼠標(biāo)的方式實(shí)現(xiàn)自動(dòng)化。
Python中模擬鍵盤和鼠標(biāo)最著名的模塊是:pymouse和 pykeyboard 。一次安裝兩個(gè)模塊比較麻煩,而有一個(gè)庫整合了這兩個(gè)模塊,而且能支持跨平臺(tái)操作,這個(gè)庫叫 PyUserInput ,通過安裝PyUserInput就可以直接得到pymouse和 pykeyboard 。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果沒有,請(qǐng)?jiān)L問這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda
Windows環(huán)境下打開Cmd(開始—運(yùn)行—CMD),蘋果系統(tǒng)環(huán)境下請(qǐng)打開Terminal(command+空格輸入Terminal),準(zhǔn)備開始輸入命令安裝依賴。
當(dāng)然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來,在編輯器下方的終端運(yùn)行命令安裝依賴模塊,多舒服的一件事啊:Python 編程的最好搭檔—VSCode 詳細(xì)指南。
在終端輸入以下命令安裝我們所需要的依賴模塊:
PyUserInput 在不同系統(tǒng)下的安裝需要使用不同的依賴:
- Linux - Xlib (python-xlib)
- Mac - Quartz, AppKit
- Windows - pywin32, pyHook
在終端輸入以下命令安裝我們所需要的依賴模塊:
pip install PyUserInput
看到 Successfully installed xxx 則說明安裝成功。Windows系統(tǒng)下如果出現(xiàn)如以下的紅色字體提示則需要安裝pyHook:
No matching distribution found for pyHook (from PyUserInput)
pyHook安裝比較麻煩,安裝成功或者非Windows系統(tǒng)的同學(xué)可以跳過下面的講解:
1. 安裝pyHook需要前往
https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook
找到你的Python版本對(duì)應(yīng)的pyHook安裝包,如我的是Python 3.6,系統(tǒng)是64位,則選擇紅框版本
2. 輸入以下命令安裝該whl文件:
pip install pyHook-1.5.1-cp36-cp36m-win_amd64.whl
文件需要在輸入命令的當(dāng)前文件夾下。
3. 出現(xiàn)Successfully installed pyHook-1.5.1則說明安裝成功。
如果出現(xiàn)缺少pywin32依賴,或者pywin32無法正常使用,請(qǐng)前往:
https://github.com/mhammond/pywin32/releases
下載對(duì)應(yīng)版本的pywin32安裝包,這里的安裝包是exe程序,直接雙擊安裝即可。
如果安裝pywin32的時(shí)候出現(xiàn)這樣的錯(cuò)誤(借他人圖):
這是因?yàn)槟愕腜ython沒有被寫入到注冊(cè)表,需要將注冊(cè)表寫入Python,在Python實(shí)用寶典公眾號(hào)后臺(tái)回復(fù): 注冊(cè)表 或閱讀原文 獲得一鍵寫入代碼,用Python運(yùn)行該代碼就能成功注冊(cè)。
注冊(cè)完畢后就可以正常安裝pywin32了,然后再重新安裝 PyUserInput 即可。macOS和Linux在安裝的時(shí)候應(yīng)該不會(huì)遇到太大問題,如果有遇到問題可以先搜索一下,網(wǎng)上解決方案都很全,或者在本文下方留言求解。
2.基本使用
pymouse模塊相對(duì)簡(jiǎn)單,你只需要記以下幾個(gè)函數(shù)即可滿足基本的使用需求,如
1.鼠標(biāo)移動(dòng):
中鍵滾動(dòng):
2.鼠標(biāo)點(diǎn)擊:
鼠標(biāo)拖拽:
3.獲得當(dāng)前屏幕大?。?/strong>
4.獲得鼠標(biāo)當(dāng)前位置:
只要記住以上4個(gè)方法,pymouse模塊你就掌握了。接下來是比較復(fù)雜的pykeyboard模塊:
1.鍵入字符串
2.按下按鍵與釋放按鍵
3.特殊按鍵的輸入:
3.小練習(xí)
微信的收藏功能相當(dāng)好用,我收藏了幾百個(gè)鏈接和推送,但是微信官方卻沒有提供批量刪除的功能。。這么明顯的痛點(diǎn)都沒有修復(fù),也許這就是微信的“任性”吧,優(yōu)秀。
沒事,有了Python,我們完全可以自己干。開始之前,需要下載一個(gè)叫看鼠標(biāo)的軟件,查找微信中某些組件所對(duì)應(yīng)的當(dāng)前屏幕的坐標(biāo),軟件下載:
https://pythondict.com/go/?url=http://www.cadgj.com/wp-content/uploads/2013/07/mousexy.exe
比如紅點(diǎn)處位置為(574, 202). 所以為了實(shí)現(xiàn)批量刪除,我們只需要從這個(gè)位置開始,右鍵刪除,然后滾動(dòng)相同寬度,重復(fù)這個(gè)操作即可。
-
鼠標(biāo)
+關(guān)注
關(guān)注
6文章
591瀏覽量
39754 -
鍵盤
+關(guān)注
關(guān)注
4文章
859瀏覽量
39647 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5562瀏覽量
79239 -
python
+關(guān)注
關(guān)注
56文章
4792瀏覽量
84627
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論