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