1、連接到應(yīng)用程序
連接應(yīng)用程序,首先需要用到pywinauto.application.Application()來創(chuàng)建一個應(yīng)用程序?qū)ο?,然后再連接到應(yīng)用程序,有如下兩種方法:
方式一:直接通過start方法打開操作的應(yīng)用程序,
from pywinauto import application
# 方式一:創(chuàng)建應(yīng)用程序時可以,指定應(yīng)用程序的合適的backend,start方法中指定啟動的應(yīng)用程序
# 對于Windows中自帶應(yīng)用程序,直接執(zhí)行,對于外部應(yīng)用應(yīng)輸入完整路徑
app = application.Application(backend='uia').start(r'd:/notepad.exe')
方式二:連接已經(jīng)打開應(yīng)用程序,可以通過connect連接到指定的應(yīng)用程序
from pywinauto import application
# 方式二:通過process指定進程號連接 # 通過handle 指定句柄號 連接
app = application.Application('uia').connect(process=4035)
app = application.Application('uia').connect(handle=123555)
2、窗口選擇
打開窗口之后,要操作該窗口的話,那么就的先選中這個窗口,關(guān)于窗口的選擇有以下幾種方式
# 方式1 :窗口名可以為中文
wind_2 = app["窗口標(biāo)題"]
wind_2 = app["窗口類名"]
# 方式2 :不適用于窗口名為中文的
wind_1 = app.窗口標(biāo)題?
wind_1 = app.窗口類名?
3.窗口操作
#窗口最大化
wind.maximize()
#窗口最小化
wind.minimize()
#窗口恢復(fù)正常大小
wind.restore()
#關(guān)閉窗口
wind.close()
#獲取窗口坐標(biāo)(左,頂,右,下)
wind.rectangle()
4、控件操作
我們可以通過print_control_identifiers()這個方法,來獲取這個窗口下的直接子控件,如下:
app['無標(biāo)題 - 記事本'].print_control_identifiers()
????????關(guān)于控件選擇的方法有好幾種,最簡單的方法如下:
1 2 3 4 |
|
?內(nèi)容輸入的方法:type_key()
1 2 3 4 |
|
?5、鍵盤操作
通過鍵盤完成以下操作:全選(ctrl+A) 復(fù)制(ctrl+C) 粘貼(ctrl+V)
pywinauto模擬操作鍵盤,需要使用到 pywinauto.keyboard.send_keys這個方法?
from pywinauto.keyboard import send_keys?
send_keys("^a")? # 全選(ctrl+A)
send_keys("^c")? # 復(fù)制(ctrl+C)
send_keys("^v")? # 粘貼(ctrl+V)
send_keys("{VK_RETURN}")?# 回車鍵
send_keys("^v") # 粘貼(ctrl+V)
常見的按鍵操作
字母按鍵用按鍵小寫字母表示
常用的一些按鍵
ESC鍵:VK_ESCAPE
回車鍵:VK_RETURN
TAB鍵:VK_TAB
Shift鍵:VK_SHIFT
Ctrl鍵:VK_CONTROL
Alt鍵:VK_MENU
按鍵修飾符# 對于一些常用的按鍵,可以通過修飾符來表示,使用的時候比較方便
'+': {VK_SHIFT}
'^': {VK_CONTROL}
'%': {VK_MENU} Alt鍵
# 上面:全選(ctrl+A) 復(fù)制(ctrl+C) 粘貼(ctrl+V)就使用的是修飾符^來代表ctrl
更多的鍵盤操作大家可以參考官網(wǎng)文檔
?6、鼠標(biāo)操作
pywinauto. mouse
pywinauto操作鼠標(biāo),需要導(dǎo)入mouse模塊,mouse模塊中設(shè)置了一系列的鼠標(biāo)操作事件
鼠標(biāo)移動:move(coords=(x軸坐標(biāo),y軸坐標(biāo)))文章來源:http://www.zghlxwxcb.cn/news/detail-456113.html
鼠標(biāo)點擊:click文章來源地址http://www.zghlxwxcb.cn/news/detail-456113.html
# button指定左擊還是右擊,coords指定鼠標(biāo)點擊的位置?
# 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
# 將屬性移動到(140,40)坐標(biāo)處按下
mouse.press(button='left', coords=(140, 40))
# 5 釋放鼠標(biāo):repleace
# 將鼠標(biāo)移動到(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 滾動鼠標(biāo)
# coords:指定鼠標(biāo)的坐標(biāo)位置。
# wheel_dist指定鼠標(biāo)滾輪滑動的次數(shù),正數(shù)往上,負數(shù)往下。
mouse.scroll(coords=(1200,300),wheel_dist=-3)
到了這里,關(guān)于Python自動化操作pywinauto的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!