python教程之利用pyautogui圖形自動化擊敗重復性辦公任務
引言
pyautogui一個神奇的圖像自動化庫,學會之后無所不能。上能掛機刷寶箱,下能自動寫文檔。(>人<;)讓我裝個逼,別錘我,謝謝!
安裝
這個pyautogui在win10上的安裝挺坑的,當初第一次安裝時出現(xiàn)了好幾次錯誤(┬┬﹏┬┬)
安裝命令如下:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyautogui
導入模塊
在安裝好這個模塊后我們還需要在程序的開頭加上如下代碼導入該模塊
import pyautogui
鼠標操作
講鼠標操作前,我們提個問題,如何確認電腦上屏幕上某個圖標的位置?
答:是通過圖標的左上角的坐標位置進行確認的。
如圖所示,我們可以看看出是以屏幕的左上角作為起始點,進行確認屏幕中的位置。細心的小伙伴可能會發(fā)現(xiàn),這坐標的走向類似于數(shù)學坐標系中的第四象限。沒錯,不過Y軸的數(shù)值類似于第四象限的Y軸的絕對值。也就是說Y的值越大,在屏幕中的為位置就越向下。說明如果我想讓鼠標點擊某個位置,必須要先獲取該位置的坐標值。
1、獲取鼠標位置
所以我們的第一條命令就是獲取鼠標當前的位置。
x,y = pyautogui.position()
我們來打印下當前的位置
print ("當前鼠標的X軸的位置為:{},Y軸的位置為:{}".format(x,y))
輸出結(jié)果如下:
當前鼠標的X軸的位置為:333,Y軸的位置為:327
2、獲取屏幕分辨率
如何獲取屏幕的分辨率呢?也就是最大的X和Y的值
x,y = pyautogui.size()
打印屏幕的分辨率
print ("當前屏幕的分辨率是{}*{}".format(x,y))
輸出結(jié)果:
當前屏幕的分辨率是1536*864
3、移動鼠標
比如說,電腦桌面上的火狐瀏覽器的位置是(100,100).我如何將鼠標移動到這個位置呢?
pyautogui.moveTo(x=300,y=300,duration=0.25)
duration類似于移動時間或移動速度,省略后則是瞬間移動到指定的位置
4、單擊鼠標
如何讓鼠標左鍵點擊屏幕中(100,100)的位置呢?
pyautogui.click(x=100,y=150,button='left')
當button=‘left’
相當于鼠標左鍵,button=‘right’
相當于鼠標右鍵。當不帶button參數(shù)時,默認為左鍵。
5、雙擊鼠標
如何雙擊鼠標呢?
pyautogui.doubleClick(x=100,y=150,button="left")
當button=‘left’
相當于鼠標左鍵,button=‘right’
相當于鼠標右鍵。當不帶button參數(shù)時,默認為左鍵。
6、拖拽鼠標
如何實現(xiàn)拖拽鼠標?
pyautogui.dragTo(x,y,duration=0.25)
duration類似于移動時間或移動速度,省略后則是瞬間移動到指定的位置
鍵盤操作
在講鍵盤操作之間,先展示一張從腳本之家盜來的按鍵映射表
1、發(fā)送組合鍵
pyautogui.hotkey('win', 'r')
發(fā)送的按鍵之間使用【,】逗號隔開。
2、輸入內(nèi)容
pyautogui.typewrite(message="hello world",interval=0.25)
message后面跟要輸入的內(nèi)容,interval用于設置輸入的速度
高級操作
pyautogui有內(nèi)置的截圖功能,可以使用screenshot
方法進行截圖,然后可以操作截圖,進行確認圖片位置或者指定坐標的顏色等。
1、獲取坐標點的像素
img = pyautogui.screenshot() color = img.getpixel((100,100))
執(zhí)行結(jié)果:
該坐標的像素點的顏色是:(255, 255, 255)
返回的是三原色值。
2、獲取圖片的位置
x,y,width,height = pyautogui.locateOnScreen('a.png')
括號中傳遞的是圖標文件的路徑
執(zhí)行:
print ("該圖標在屏幕中的位置是:X={},Y={},寬{}像素,高{}像素".format(x,y,width,height))
結(jié)果:
該圖標在屏幕中的位置是:X=9,Y=741,寬81像素,高95像素
3、獲取圖標的中心點
x, y = pyautogui.center((9,741,81,95))
括號中分別傳遞,圖片的X軸,Y軸,寬,長
執(zhí)行命令:
x,y = pyautogui.center((9,741,81,95))
執(zhí)行結(jié)果:
該圖標的中心點是:X=49,Y=788
教學代碼
# -*- coding:utf-8 -*- #作者:貓先生的早茶 #時間:2019年5月26日 import pyautogui """獲取鼠標當前的坐標位置""" x,y = pyautogui.position() print ("當前鼠標的X軸的位置為:{},Y軸的位置為:{}".format(x,y)) """獲取屏幕分辨率""" x,y = pyautogui.size() print ("當前屏幕的分辨率是{}*{}".format(x,y)) """移動鼠標到指定位置""" pyautogui.moveTo(x=300,y=300,duration=0.25) """點擊鼠標""" pyautogui.click(x=100,y=150,button='right') """雙擊鼠標""" pyautogui.doubleClick(x=100,y=150,button="left") """發(fā)送組合鍵""" pyautogui.hotkey('win', 'r') """輸入內(nèi)容""" pyautogui.typewrite(message="hello world",interval=0.25) """獲取指定坐標的顏色""" img = pyautogui.screenshot() color = img.getpixel((100,100)) print ("該坐標的像素點的顏色是:{}".format(color)) """獲取圖標的位置""" x,y,width,height = pyautogui.locateOnScreen('a.png') print ("該圖標在屏幕中的位置是:X={},Y={},寬{}像素,高{}像素".format(x,y,width,height)) """獲取中心點""" x,y = pyautogui.center((9,741,81,95)) print ("該圖標的中心點是:X={},Y={}".format(x,y))
總結(jié)
到此這篇關(guān)于python教程之利用pyautogui圖形自動化擊敗重復性辦公任務的文章就介紹到這了,更多相關(guān)python pyautogui圖形自動化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python pyautogui模擬鍵盤輸入操作的示例詳解
- python pyautogui實現(xiàn)圖片識別點擊失敗后重試功能
- python pyautogui手動活動(模擬鼠標鍵盤)自動化庫使用
- Python利用PyAutoGUI輕松搞定圖片上傳
- Python自動操作神器PyAutoGUI的使用教程
- Python利用PyAutoGUI模塊實現(xiàn)控制鼠標鍵盤
- Python中PyAutoGUI幫助文檔(推薦!)
- Python中pyautogui庫的使用方法匯總
- python編程PyAutoGUI庫使用與安裝簡介
- python 利用PyAutoGUI快速構(gòu)建自動化操作腳本
- Python中PyAutoGUI?庫的使用
相關(guān)文章
Python數(shù)據(jù)分析之如何利用pandas查詢數(shù)據(jù)示例代碼
查詢和分析數(shù)據(jù)是pandas的重要功能,也是我們學習pandas的基礎,下面這篇文章主要給大家介紹了關(guān)于Python數(shù)據(jù)分析之如何利用pandas查詢數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09python torch.utils.data.DataLoader使用方法
這篇文章主要介紹了python torch.utils.data.DataLoader使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04Python?SQLAlchemy之SQL工具包和ORM的用法詳解
SQLAlchemy?是?Python?中一款非常流行的數(shù)據(jù)庫工具包,它對底層的數(shù)據(jù)庫操作提供了高層次的抽象,在本篇文章中,我們將介紹SQLAlchemy的兩個主要組成部分:SQL工具包和對象關(guān)系映射器的基本使用,需要的朋友可以參考下2023-08-08Python 實現(xiàn)3種回歸模型(Linear Regression,Lasso,Ridge)的示例
這篇文章主要介紹了Python 實現(xiàn) 3 種回歸模型(Linear Regression,Lasso,Ridge)的示例,幫助大家更好的進行機器學習,感興趣的朋友可以了解下2020-10-10python實現(xiàn)將html表格轉(zhuǎn)換成CSV文件的方法
這篇文章主要介紹了python實現(xiàn)將html表格轉(zhuǎn)換成CSV文件的方法,涉及Python操作csv文件的相關(guān)技巧,需要的朋友可以參考下2015-06-06