利用Python自帶的win32api和win32con、win32gui等模塊,我們能執(zhí)行許多windows下的自動(dòng)化操作。比如兩個(gè)窗口的自動(dòng)點(diǎn)擊操作,從軟件中的窗口復(fù)制文本到txt中,甚至是截圖操作。
今天Python實(shí)用寶典就來講講怎么在Python中實(shí)現(xiàn)截圖功能,以下教程默認(rèn)您已經(jīng)安裝好了Python哦,沒有的話見這個(gè)教程,python詳細(xì)安裝指南:
1.獲取窗口左上角及右下角坐標(biāo)
結(jié)果:
F:push20190929>python 1.py
(349,83,1549,1013)
其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐標(biāo),(x2, y2)是窗口右下角的坐標(biāo)。我們可以利用這個(gè)信息配合PIL進(jìn)行截圖。但是在這之前,我們還要解決兩個(gè)問題:
- 該窗口并不在當(dāng)前的界面上,被其他的軟件覆蓋到底層中,這時(shí)候需要 高亮窗口 。
- 該窗口 被最小化怎么辦 ?
2.win32gui 高亮窗口
為了使得被疊在底層的窗口能放到最上層顯示,我們需要拿到窗口的handle,對其執(zhí)行高亮操作,其實(shí)很簡單,我們剛剛獲得坐標(biāo)信息的時(shí)候已經(jīng)得到handle了,只需要做一下簡單的更改即可。
3. 還原最小化窗口
還有一種特殊情況就是窗口被縮小了,這時(shí)候我們就需要還原最小化窗口,其實(shí)也非常簡單,只要利用win32gui和win32con向該窗口發(fā)送一個(gè)信息即可。
效果如圖所示:
4.截圖
有了PIL模塊和窗口的坐標(biāo)后,我們想截圖可非常簡單。PIL 模塊安裝:
pip install pillow
安裝完就可以試一下我們的完整代碼了,如下:
這個(gè)功能可好用了,比如說你需要監(jiān)控一個(gè)窗口的運(yùn)行狀況,不可能時(shí)時(shí)刻刻都去觀察它,你可以使用while循環(huán)不斷調(diào)用我們的窗口截圖腳本,先截圖進(jìn)行保存,不僅如此,它還能擴(kuò)展到非常多不可思議的操作哦!
-
模塊
+關(guān)注
關(guān)注
7文章
2788瀏覽量
50389 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3614瀏覽量
91411 -
自動(dòng)化
+關(guān)注
關(guān)注
29文章
5784瀏覽量
84875 -
python
+關(guān)注
關(guān)注
56文章
4827瀏覽量
86753 -
截圖
+關(guān)注
關(guān)注
0文章
21瀏覽量
4211
發(fā)布評論請先 登錄
如何實(shí)現(xiàn)組件截圖 -- componentSnapshot
截圖功能打包后異常
請問Python中如何實(shí)現(xiàn)vlookup函數(shù)的功能?
在windows下安裝python 在linux下安裝python 在masOS下安裝python
介紹Python 3 的功能 讓人輕松地從Python 2遷移到Python 3
Python語言在人工智能中的功能及優(yōu)勢
iPhone怎樣長截圖
如何使用python實(shí)現(xiàn)截圖自動(dòng)存入Excel表
在Anaconda中安裝python包seaborn

抽樣在Python中是如何實(shí)現(xiàn)的
在Python中實(shí)現(xiàn)更簡單好用的函數(shù)運(yùn)算緩存
Python中telnetlib模塊的基本使用
如何使用win32api實(shí)現(xiàn)自動(dòng)喚醒并截圖的操作

評論