在某些情況下,如果我們需要進(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è)模塊,而且能支持跨平臺操作,這個(gè)庫叫 PyUserInput ,通過安裝PyUserInput就可以直接得到pymouse和 pykeyboard 。
1.準(zhǔn)備
開始之前,你要確保Python和pip已經(jī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)境下請打開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版本對應(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無法正常使用,請前往:
https://github.com/mhammond/pywin32/releases
下載對應(yīng)版本的pywin32安裝包,這里的安裝包是exe程序,直接雙擊安裝即可。
如果安裝pywin32的時(shí)候出現(xiàn)這樣的錯(cuò)誤(借他人圖):
這是因?yàn)槟愕腜ython沒有被寫入到注冊表,需要將注冊表寫入Python,在Python實(shí)用寶典公眾號后臺回復(fù): 注冊表 或閱讀原文 獲得一鍵寫入代碼,用Python運(yùn)行該代碼就能成功注冊。
注冊完畢后就可以正常安裝pywin32了,然后再重新安裝 PyUserInput 即可。macOS和Linux在安裝的時(shí)候應(yīng)該不會(huì)遇到太大問題,如果有遇到問題可以先搜索一下,網(wǎng)上解決方案都很全,或者在本文下方留言求解。
2.基本使用
pymouse模塊相對簡單,你只需要記以下幾個(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)的軟件,查找微信中某些組件所對應(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文章
593瀏覽量
40778 -
鍵盤
+關(guān)注
關(guān)注
4文章
866瀏覽量
40693 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5784瀏覽量
84857 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86741
發(fā)布評論請先 登錄

千鋒Python教程:121 自動(dòng)化辦公與鼠標(biāo)鍵盤模擬_第3節(jié)
低變壓配電自動(dòng)化有哪些特點(diǎn)
python控制CANoe實(shí)現(xiàn)自動(dòng)化測試的方法
如何實(shí)現(xiàn)無線鼠標(biāo)的設(shè)計(jì)
鼠標(biāo)的操作方式

鼠標(biāo)的工作方式
無線鼠標(biāo)的設(shè)計(jì)與實(shí)現(xiàn)
KM3模擬鍵盤鼠標(biāo)模塊使用說明---2.鍵盤功能

KM3模擬鍵盤鼠標(biāo)模塊使用說明---3.自動(dòng)功能

使用Python腳本實(shí)現(xiàn)自動(dòng)化運(yùn)維任務(wù)
什么是自動(dòng)化測試框架
Facebook群組自動(dòng)化python – 網(wǎng)絡(luò)自動(dòng)化

評論