电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

一、前言

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

二、環境安裝

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

pip install pywinauto

三、使用說明

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

內容翻譯如下:

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

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

MS UI Automation (backend='uia')

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

四、快速入門

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

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

連接應用程序,首先需要用到pywinauto.application.Application()來創建一個應用程序對象,然后再連接到應用程序,有如下兩種方法:

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

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

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

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

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

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

2、窗口選擇

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

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

3、控件操作

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

獲取所有控件

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

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

打印出來的結果如下:

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

上面打印出來的內容分別對應窗口種

選擇控件

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

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

內容輸入

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

內容輸入的方法:type_key()

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

運行結果如下:

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

4、鍵盤操作

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

通過鍵盤完成以下操作:全選(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

更多的鍵盤操作大家可以參考官網文檔

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指定鼠標滾輪滑動的次數,正數往上,負數往下。mouse.scroll(coords=(1200,300),wheel_dist=-3)

五、說明

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 微信小程序定制,广州app公众号商城网站开发公司-广东锋火 | 珠海冷却塔降噪维修_冷却塔改造报价_凉水塔风机维修厂家- 广东康明节能空调有限公司 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 精益专家 - 设备管理软件|HSE管理系统|设备管理系统|EHS安全管理系统 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | 环讯传媒,永康网络公司,永康网站建设,永康小程序开发制作,永康网站制作,武义网页设计,金华地区网站SEO优化推广 - 永康市环讯电子商务有限公司 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 西门子代理商_西门子变频器总代理-翰粤百科 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 数显恒温油浴-电砂浴-高温油浴振荡器-常州迈科诺仪器有限公司 | 污水提升器,污水提升泵,地下室排水,增压泵,雨水泵,智能供排水控制器-上海智流泵业有限公司 | 高铝矾土熟料_细粉_骨料_消失模_铸造用铝矾土_铝酸钙粉—嵩峰厂家 | 小型玉石雕刻机_家用玉雕机_小型万能雕刻机_凡刻雕刻机官网 | 展厅设计-展馆设计-专业企业展厅展馆设计公司-昆明华文创意 | 房屋质量检测-厂房抗震鉴定-玻璃幕墙检测-房屋安全鉴定机构 | 屏蔽泵厂家,化工屏蔽泵_维修-淄博泵业| 沈阳液压泵_沈阳液压阀_沈阳液压站-沈阳海德太科液压设备有限公司 | AGV无人叉车_激光叉车AGV_仓储AGV小车_AGV无人搬运车-南昌IKV机器人有限公司[官网] | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 锂辉石检测仪器,水泥成分快速分析仪-湘潭宇科分析仪器有限公司 | 北京开源多邦科技发展有限公司官网 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 保温杯,儿童婴童奶瓶,运动水壶「广告礼品杯定制厂家」超朗保温杯壶 | 礼堂椅厂家|佛山市艺典家具有限公司 | 全自动真空上料机_粉末真空上料机_气动真空上料机-南京奥威环保科技设备有限公司 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 市政路灯_厂家-淄博信达电力科技有限公司| 有声小说,听书,听小说资源库-听世界网| 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | Dataforth隔离信号调理模块-信号放大模块-加速度振动传感器-北京康泰电子有限公司 | 小型数控车床-数控车床厂家-双头数控车床| 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 高中学习网-高考生信息学习必备平台 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 |