国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)

瀏覽:22日期:2022-07-24 10:11:54

一、前言

今天在這邊專門(mén)整理了一遍文章,和大家一起聊聊如何使用python做PC端自動(dòng)化!

二、環(huán)境安裝

使用python實(shí)現(xiàn)來(lái)做PC端自動(dòng)化,前提是先安裝好python,那么還需要用到一個(gè)第三方庫(kù):pywinauto,在這邊我們首先需要安裝好這個(gè)庫(kù),安裝命令如下:

pip install pywinauto

三、使用說(shuō)明

安裝好了之后,關(guān)于使用說(shuō)明大家可以參照官方文檔上的說(shuō)明

內(nèi)容翻譯如下:

就是說(shuō)在我們安裝好Pywinauto之后,首先要確定哪種可訪問(wèn)性技術(shù)(pywinauto的backend)可以用于我們的應(yīng)用程序,在windows上受支持的輔助功能技術(shù)有兩種:

Win32 API (backend='win32') 默認(rèn)backend

MS UI Automation (backend='uia')

如果您不能確定程序到底適用于那種backend,可以借助于GUI對(duì)象檢查工具來(lái)做,常用的檢查工具有Inspect.ex,Spy++ 等,這個(gè)不做過(guò)多介紹,大家自行學(xué)習(xí)和下載,使用很簡(jiǎn)單,也非常便捷。

四、快速入門(mén)

在安裝好環(huán)境之后,并且確定了應(yīng)用程序適用的backend,那么接下來(lái)我們就可以使用Pywinauto這個(gè)模塊來(lái)對(duì)應(yīng)用程序進(jìn)行自動(dòng)化操作了

1、連接到應(yīng)用程序這邊以window自帶的計(jì)算器程序作為案例,給大家做講解

連接應(yīng)用程序,首先需要用到pywinauto.application.Application()來(lái)創(chuàng)建一個(gè)應(yīng)用程序?qū)ο?,然后再連接到應(yīng)用程序,有如下兩種方法:

方式一:直接通過(guò)start方法打開(kāi)操作的應(yīng)用程序,

from pywinauto import application# 方式一:創(chuàng)建應(yīng)用程序時(shí)可以,指定應(yīng)用程序的合適的backend,start方法中指定啟動(dòng)的應(yīng)用程序app = application.Application(backend=’uia’).start(’notepad.exe’)

方式二:連接已經(jīng)打開(kāi)應(yīng)用程序,可以通過(guò)connect連接到指定的應(yīng)用程序

from pywinauto import application# 方式二:查看要打開(kāi)的程序進(jìn)程號(hào),通過(guò)process指定進(jìn)程號(hào)連接app = application.Application().connect(process=19035)

運(yùn)行以上代碼,就會(huì)自動(dòng)打開(kāi)記事本記事本,如下

PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)

2、窗口選擇

打開(kāi)這個(gè)窗口之后,我們要操作該窗口的話,那么就的先選中這個(gè)窗口,關(guān)于窗口的選擇有一下幾種方式

# 方式一 :不適用于窗口名為中文的wind_1 = app.窗口名 ​# 方式二 :窗口名可以為中文 wind_2 = app['窗口名']​# 案例使用:選擇上面打開(kāi)的計(jì)算器程序窗口wind_calc = app[’無(wú)標(biāo)題 - 記事本’]

3、控件操作

程序窗口中的內(nèi)容,把它稱之為控件,我們要對(duì)這個(gè)窗口的內(nèi)容進(jìn)行操作,就需要選擇到對(duì)應(yīng)的控件,

獲取所有控件

我們可以通過(guò)print_control_identifiers()這個(gè)方法,來(lái)獲取這個(gè)窗口下的直接子控件,如下:

app[’無(wú)標(biāo)題 - 記事本’].print_control_identifiers()

打印出來(lái)的結(jié)果如下:

PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)

上面打印出來(lái)的內(nèi)容分別對(duì)應(yīng)窗口種

選擇控件

關(guān)于控件選擇的方法有好幾種,最簡(jiǎn)單的方法如下:

# 選擇控件的方法wind_calc = app['窗口名']['控件名']# 案例操作:選擇編輯窗口edit = app[’無(wú)標(biāo)題 - 記事本’][’Edit’]

內(nèi)容輸入

在上面選擇到編輯窗口之后,我們就可以進(jìn)行內(nèi)容輸入了,

內(nèi)容輸入的方法:type_key()

# 在編輯欄種輸入內(nèi)容edit.type_keys('檸檬班')edit.type_keys('python自動(dòng)化')edit.type_keys('musen')

運(yùn)行結(jié)果如下:

PythonPC客戶端自動(dòng)化實(shí)現(xiàn)原理(pywinauto)

4、鍵盤(pán)操作

輸入完上述內(nèi)容之后,接下來(lái)我們要修改編輯框中的內(nèi)容,

通過(guò)鍵盤(pán)完成以下操作:全選(ctrl+A) 復(fù)制(ctrl+C) 粘貼(ctrl+V)

pywinauto.keyboard.send_key

pywinauto模擬操作鍵盤(pán),需要使用到 pywinauto.keyboard.send_keys這個(gè)方法

# 導(dǎo)入模塊from pywinauto.keyboard import send_keys​# 全選(ctrl+A) send_keys('^a')​# 復(fù)制(ctrl+C) send_keys('^c')​# 粘貼(ctrl+V)send_keys('^v')​# 回車鍵send_keys('{VK_RETURN}')​# 粘貼(ctrl+V)send_keys('^v')

常見(jiàn)的按鍵操作

字母按鍵用按鍵小寫(xiě)字母表示

常用的一些按鍵

ESC鍵:VK_ESCAPE 回車鍵:VK_RETURN TAB鍵:VK_TAB Shift鍵:VK_SHIFT Ctrl鍵:VK_CONTROL Alt鍵:VK_MENU

按鍵修飾符

# 對(duì)于一些常用的按鍵,可以通過(guò)修飾符來(lái)表示,使用的時(shí)候比較方便 ’+’: {VK_SHIFT} ’^’: {VK_CONTROL} ’%’: {VK_MENU} Alt鍵 # 上面:全選(ctrl+A) 復(fù)制(ctrl+C) 粘貼(ctrl+V)就使用的是修飾符^來(lái)代表ctrl

更多的鍵盤(pán)操作大家可以參考官網(wǎng)文檔

5、鼠標(biāo)操作

pywinauto. mouse

pywinauto操作鼠標(biāo),需要導(dǎo)入mouse模塊,mouse模塊中設(shè)置了一系列的鼠標(biāo)操作事件

鼠標(biāo)移動(dòng):move方法

move(coords=(x軸坐標(biāo),y軸坐標(biāo)))

緩慢移動(dòng)鼠標(biāo)案例

for i in range(10): x = 10 * i y = 10 * i time.sleep(0.5) # 移動(dòng)鼠標(biāo) mouse.move(coords=(x, y))

鼠標(biāo)點(diǎn)擊:click

# button指定左擊還是右擊,coords指定鼠標(biāo)點(diǎn)擊的位置​# 3.1、鼠標(biāo)單擊# 指定位置,鼠標(biāo)左擊mouse.click(button=’left’, coords=(40, 40))# 指定位置 鼠標(biāo)右擊# mouse.click(button=’right’, coords=(100, 200))# 3.2 鼠標(biāo)雙擊mouse.double_click(button=’left’, coords=(140, 40))​​# 4 按下鼠標(biāo):press# 將屬性移動(dòng)到(140,40)坐標(biāo)處按下mouse.press(button=’left’, coords=(140, 40))​# 5 釋放鼠標(biāo):repleace# 將鼠標(biāo)移動(dòng)到(300,40)坐標(biāo)處釋放,mouse.release(button=’left’, coords=(300, 40))​# 6、右鍵單擊指定坐標(biāo)mouse.right_click(coords=(400, 400))​# 7、鼠標(biāo)中鍵單擊指定坐標(biāo)(很少用的到)mouse.wheel_click(coords=(400, 400))​# 8 滾動(dòng)鼠標(biāo)# coords:指定鼠標(biāo)的坐標(biāo)位置。# wheel_dist指定鼠標(biāo)滾輪滑動(dòng)的次數(shù),正數(shù)往上,負(fù)數(shù)往下。mouse.scroll(coords=(1200,300),wheel_dist=-3)

五、說(shuō)明

關(guān)于pywinauto模塊的基本使用就該大家介紹到這里了,對(duì)pc端自動(dòng)化感興趣的同學(xué)可以往這個(gè)方向去深入學(xué)習(xí)。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 波多野结衣一区二区三区在线观看 | 国产成人一区二区三区视频免费 | 国产激情一区二区三区四区 | 久久亚洲国产成人影院 | 免费永久在线观看黄网 | 日韩欧美中文字幕在线视频 | 欧做爰xxxⅹ性欧美大 | 免费观看一区二区 | 日本在线观看www免费 | 国产20页| 亚洲国产网站 | 97在线观看视频免费 | 成人做爰毛片免费视频 | 午夜性爽快免费视频播放 | 在线播放国产真实女同事 | 亚洲在线网 | 美女国产福利视频 | 日本高清在线中文字幕网 | 狼人 成人 综合 亚洲 | 亚洲码一区二区三区 | 午夜成年人网站 | 久久99国产乱子伦精品免 | 日韩在线中文字幕 | 成人欧美一区二区三区黑人 | 国产成人一区二区三区视频免费 | 日本一区二区三区不卡视频中文字幕 | 视频一区免费 | 伊人成人在线视频 | 欧美日韩大片 | 韩国美女爽快一毛片免费 | 国产精品短视频免费观看 | 韩国免又爽又刺激激情视频 | 国产美女在线一区二区三区 | 精品综合在线 | 国产亚洲欧美日韩在线看片 | 怡红院日本一道日本久久 | 中文在线亚洲 | 国产精品成人免费视频不卡 | 中文字幕一区二区三区免费视频 | 人成在线免费视频 | 日本一级特黄大一片免 |