一、前言
今天在这边专门整理了一遍文章,和大家一起聊聊如何使用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)
运行以上代码,就会自动打开记事本记事本,如下
2、窗口选择
打开这个窗口之后,我们要操作该窗口的话,那么就的先选中这个窗口,关于窗口的选择有一下几种方式
# 方式一 :不适用于窗口名为中文的 wind_1 = app.窗口名 "窗口名"] "text-align: center">上面打印出来的内容分别对应窗口种
选择控件
关于控件选择的方法有好几种,最简单的方法如下:
# 选择控件的方法 wind_calc = app["窗口名"]["控件名"] # 案例操作:选择编辑窗口 edit = app['无标题 - 记事本']['Edit']内容输入
在上面选择到编辑窗口之后,我们就可以进行内容输入了,
内容输入的方法:type_key()
# 在编辑栏种输入内容 edit.type_keys("柠檬班") edit.type_keys("python自动化") edit.type_keys("musen")运行结果如下:
4、键盘操作
输入完上述内容之后,接下来我们要修改编辑框中的内容,
通过键盘完成以下操作:全选(ctrl+A) 复制(ctrl+C) 粘贴(ctrl+V)
pywinauto.keyboard.send_key
pywinauto模拟操作键盘,需要使用到 pywinauto.keyboard.send_keys这个方法
# 导入模块 from pywinauto.keyboard import send_keys "^a") "^c") "^v") "{VK_RETURN}") "^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端自动化感兴趣的同学可以往这个方向去深入学习。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
- faker塞拉斯s14决赛什么出装 faker塞拉斯s14决赛出装介绍
- LOLtoc9魔法口令在哪可以找到 2024云顶之弈toc观赛魔法口令兑换码
- 黑鸭子2008《影视经典·珍藏版》试音碟[WAV+CUE]
- 碧娜《温柔吻语2》[WAV+CUE]
- Stravinsky-Symphonies,Volume1-OrquestaSinfonicadeGalicia,DimaSlobodeniouk(2024)[24-
- 外媒评Switch2:向下兼容是关键 但挑战依然存在
- 任天堂提醒:宠物的尿或唾液或会让NS故障 把它放好!
- 《博德3》再创新高 Steam掌机总游玩时长近2000年
- 张玮伽《想你的夜DSD》东升 [WAV+CUE][1G]
- 姚璎格《 粤 24KGOLD》正版低速原抓[WAV+CUE][1G]
- 杨千嬅《如果大家都拥有海》寰亚 [WAV+CUE][998M]
- 孟庭苇.1994-1990-1994钻石精选集2CD(2022环球XRCD限量版)【上华】【WAV+CUE】
- 群星.1998-华纳好情歌精选17首【华纳】【WAV+CUE】
- 张敬轩王菀之.2006-903.ID.CLUB拉阔演奏厅LIVE.2CD【环球】【WAV+CUE】
- 《欢欣森活》存档方法