python opencv 界面按钮_PyAutoGUI:自动化键鼠操作的Python类库
有些朋友可能玩過按鍵精靈,一個用來操作鍵盤鼠標(biāo)完成一些自動化工作的軟件。其實(shí)如果你學(xué)了Python的話,完全用不著按鍵精靈這種東西了。因?yàn)閺V泛的Python類庫里,就有PyAutoGUI這樣可以變成控制鍵盤鼠標(biāo)的類庫,有了它,就可以用Python隨心所欲的操作電腦了。而且這個類庫是跨平臺的,Windows、Linux、macOS都可以用,是不是很吸引人呢?
Github頁面
安裝和使用
安裝PyAutoGUI非常簡單,從pip安裝即可。
pip install pyautogui用pip安裝
這里順便介紹一下PyAutoGUI的坐標(biāo)系統(tǒng),和一些常見的繪圖坐標(biāo)系統(tǒng)相同,左上角為原點(diǎn),向右是x軸正方向,向下是y軸正方向。假如你的屏幕是1920*1080,那么右下角的坐標(biāo)就是(1919, 1079),因?yàn)樽鴺?biāo)是從0開始的,而不是從1開始的,這一點(diǎn)要格外注意。
PyAutoGUI雖然有很多函數(shù),但是函數(shù)的作用基本上就是單擊/雙擊鼠標(biāo)、敲擊/按下/彈起按鍵這樣的,函數(shù)參數(shù)也就是點(diǎn)擊間隔、點(diǎn)擊按鍵這樣很簡單的參數(shù)。所以我就不列例子了,總之用起來非常簡單。
函數(shù)簡介
下面來介紹一下PyAutoGUI的函數(shù)。先來看看鼠標(biāo)操作函數(shù),主要是點(diǎn)擊、拖動、滑動滾輪這些操作。
鼠標(biāo)操作
鍵盤操作函數(shù),主要就是按鍵、組合鍵操作。
鍵盤操作
提示框函數(shù),可以用來顯示警告、確認(rèn)、提示和密碼輸入對話框,增強(qiáng)程序可操作性。顯示對話框的時候,程序會暫停,直到用戶處理對話框。
提示框函數(shù)
截圖函數(shù),可以從屏幕上截圖,也可以根據(jù)已有圖片從屏幕上定位。主要用途是事先保存一些按鈕圖片,然后從屏幕上識別定位來點(diǎn)擊按鈕。
截圖函數(shù)
操作實(shí)例
首先來看看官網(wǎng)的一個畫圖例子,我們需要打開一個畫圖程序的窗口,然后將它放到全屏。然后運(yùn)行下面的代碼,然后切換到畫圖窗口。等待3秒鐘以后就可以看到PyAutoGUI開始畫圖了。
import pyautoguidistance = 100
pyautogui.moveTo(400, 300)
while distance > 0:
pyautogui.drag(distance, 0, duration=0.1)
distance -= 5
pyautogui.drag(0, distance, duration=0.1)
pyautogui.drag(-distance, 0, duration=0.1)
distance -= 5
pyautogui.drag(0, -distance, duration=0.1)
結(jié)果如下。其實(shí)這個畫圖的代碼很簡單,就是一圈一圈縮小,然后調(diào)用drag函數(shù)拖住畫筆不放。
畫出來的圖
再來看一個圖片識別的例子,這個例子需要先安裝OpenCV庫和opencv-python包。安裝之后就可以運(yùn)行下面的例子了。這個例子保存了windows 10計(jì)算機(jī)的幾個按鈕截圖,然后通過圖形識別的方式找到并點(diǎn)擊按鈕執(zhí)行操作。注意下面用到了confidence參數(shù),即使圖片沒有完全匹配也可以識別到。
import pyautoguiimport time
time.sleep(3)
# Windows計(jì)算器的按鈕截圖
five = '5.png'
eight = '8.png'
multiply = 'multiply.png'
equals = 'equals.png'
# 圖片識別和點(diǎn)擊的函數(shù)
def find_and_click(image):
x, y = pyautogui.locateCenterOnScreen(image, confidence=0.9)
pyautogui.click(x, y)
# 執(zhí)行5*8=
find_and_click(five)
find_and_click(multiply)
find_and_click(eight)
find_and_click(equals)
代碼以及圖片的完整例子可以查看我的github,地址如下。
https://github.com/techstay/python-study/tree/master/pyautogui-sample通過PyAutoGUI,你可以輕松的對圖形界面進(jìn)行自動化編程,按照屏幕位置或者圖片識別來定位控件的位置,然后通過編程來控制鼠標(biāo)和鍵盤輸入。這和按鍵精靈的道理是一樣的。但是Python可以利用廣泛的第三方包來實(shí)現(xiàn)更多的功能,這一點(diǎn)是按鍵精靈無法相比的。
來源:
https://www.toutiao.com/a6827183521623179788/
“IT大咖說”歡迎廣大技術(shù)人員投稿,投稿郵箱:aliang@itdks.com
來都來了,走啥走,留個言唄~?IT大咖說 ?|??關(guān)于版權(quán)?
由“IT大咖說(ID:itdakashuo)”原創(chuàng)的文章,轉(zhuǎn)載時請注明作者、出處及微信公眾號。投稿、約稿、轉(zhuǎn)載請加微信:ITDKS10(備注:投稿),茉莉小姐姐會及時與您聯(lián)系!
感謝您對IT大咖說的熱心支持!
相關(guān)推薦
推薦文章
編程語言的鄙視鏈
一種無侵入比swagger-ui兼容性更好更簡單的API文檔生成方案
神奇的C語言:一段令人百思不得其解的代碼
Quarkus是Java的未來嗎?
【項(xiàng)目實(shí)踐】后端接口統(tǒng)一規(guī)范的同時,如何優(yōu)雅得擴(kuò)展規(guī)范?
深入理解Servlet
總結(jié)
以上是生活随笔為你收集整理的python opencv 界面按钮_PyAutoGUI:自动化键鼠操作的Python类库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python的turtle画曲线_pyt
- 下一篇: python从数据库取数据保存为exce