欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PythonPC客戶端自動化實現(xiàn)原理(pywinauto)

 更新時間:2020年05月28日 10:16:32   作者:musen  
這篇文章主要介紹了Python基于pywinauto實現(xiàn)PC客戶端自動化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

一、前言

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

二、環(huán)境安裝

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

pip install pywinauto

三、使用說明

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

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

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

Win32 API (backend="win32") 默認backend

MS UI Automation (backend="uia")

如果您不能確定程序到底適用于那種backend,可以借助于GUI對象檢查工具來做,常用的檢查工具有Inspect.ex,Spy++ 等,這個不做過多介紹,大家自行學習和下載,使用很簡單,也非常便捷。

四、快速入門

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

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

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

方式一:直接通過start方法打開操作的應用程序,

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

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

from pywinauto import application
# 方式二:查看要打開的程序進程號,通過process指定進程號連接
app = application.Application().connect(process=19035)

運行以上代碼,就會自動打開記事本記事本,如下

2、窗口選擇

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

# 方式一 :不適用于窗口名為中文的
wind_1 = app.窗口名 
​
# 方式二 :窗口名可以為中文 
wind_2 = app["窗口名"]
​
# 案例使用:選擇上面打開的計算器程序窗口
wind_calc = app['無標題 - 記事本']

3、控件操作

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

獲取所有控件

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

app['無標題 - 記事本'].print_control_identifiers()

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

上面打印出來的內(nèi)容分別對應窗口種

選擇控件

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

# 選擇控件的方法
wind_calc = app["窗口名"]["控件名"]
# 案例操作:選擇編輯窗口
edit = app['無標題 - 記事本']['Edit']

內(nèi)容輸入

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

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

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

運行結(jié)果如下:

4、鍵盤操作

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

通過鍵盤完成以下操作:全選(ctrl+A) 復制(ctrl+C) 粘貼(ctrl+V)

pywinauto.keyboard.send_key

pywinauto模擬操作鍵盤,需要使用到 pywinauto.keyboard.send_keys這個方法

# 導入模塊
from pywinauto.keyboard import send_keys
​
# 全選(ctrl+A)  
send_keys("^a")
​
# 復制(ctrl+C) 
send_keys("^c")
​
# 粘貼(ctrl+V)
send_keys("^v")
​
# 回車鍵
send_keys("{VK_RETURN}")
​
# 粘貼(ctrl+V)
send_keys("^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) 復制(ctrl+C) 粘貼(ctrl+V)就使用的是修飾符^來代表ctrl

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

5、鼠標操作

pywinauto. mouse

pywinauto操作鼠標,需要導入mouse模塊,mouse模塊中設置了一系列的鼠標操作事件

鼠標移動:move方法

move(coords=(x軸坐標,y軸坐標))

緩慢移動鼠標案例

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

鼠標點擊:click

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

五、說明

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

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python爬蟲URL重試機制的實現(xiàn)方法(python2.7以及python3.5)

    python爬蟲URL重試機制的實現(xiàn)方法(python2.7以及python3.5)

    今天小編就為大家分享一篇python爬蟲URL重試機制的實現(xiàn)方法(python2.7以及python3.5),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Pycharm保存不能自動同步到遠程服務器的解決方法

    Pycharm保存不能自動同步到遠程服務器的解決方法

    今天小編就為大家分享一篇Pycharm保存不能自動同步到遠程服務器的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • 基于Python實現(xiàn)自動關(guān)機小工具

    基于Python實現(xiàn)自動關(guān)機小工具

    上班族經(jīng)常會遇到這樣情況,著急下班結(jié)果將關(guān)機誤點成重啟,或者臨近下班又通知開會,開完會已經(jīng)遲了還要去給電腦關(guān)機。今天使用PyQt5做了個自動關(guān)機的小工具,設置好關(guān)機時間然后直接提交即可,需要的可以參考一下
    2022-10-10
  • python wordcloud庫實例講解使用方法

    python wordcloud庫實例講解使用方法

    這篇文章主要介紹了python wordcloud庫實例,詞云通過以詞語為基本單位,更加直觀和藝術(shù)地展示文本。wordcloud是優(yōu)秀的詞云展示的python第三方庫
    2022-12-12
  • 地圖可視化神器kepler.gl python接口的使用方法

    地圖可視化神器kepler.gl python接口的使用方法

    這篇文章主要介紹了python 地圖可視化神器kepler.gl近期重要更新的的相關(guān)資料,幫助大家利用python實現(xiàn)地圖可視化,感興趣的朋友可以了解下
    2020-12-12
  • Python字符編碼與函數(shù)的基本使用方法

    Python字符編碼與函數(shù)的基本使用方法

    下面小編就為大家?guī)硪黄狿ython字符編碼與函數(shù)的基本使用方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • python排列組合庫itertools的具體使用

    python排列組合庫itertools的具體使用

    排列組合是數(shù)學中必不可少的一部分, Python 提供了itertools庫,該庫具有計算排列和組合的內(nèi)置函數(shù),本文主要介紹了python排列組合庫itertools的具體使用,具有一定的參考價值,感興趣的可以了解下
    2024-01-01
  • python密碼學文件解密實現(xiàn)教程

    python密碼學文件解密實現(xiàn)教程

    這篇文章主要為大家介紹了python密碼學文件解密實現(xiàn)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • jupyter notebook遠程訪問不了的問題解決方法

    jupyter notebook遠程訪問不了的問題解決方法

    這篇文章主要介紹了jupyter notebook遠程訪問不了的問題解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Django框架HttpResponse和HttpRequest對象學習

    Django框架HttpResponse和HttpRequest對象學習

    這篇文章主要介紹了Django框架HttpResponse和HttpRequest對象學習,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家早日升職加薪
    2021-09-09

最新評論