当前位置:   article > 正文

Python自动化操作pywinauto_python pywinauto

python pywinauto

1、连接到应用程序

连接应用程序,首先需要用到pywinauto.application.Application()来创建一个应用程序对象,然后再连接到应用程序,有如下两种方法:

方式一:直接通过start方法打开操作的应用程序,

  1. from pywinauto import application
  2. # 方式一:创建应用程序时可以,指定应用程序的合适的backend,start方法中指定启动的应用程序
  3. # 对于Windows中自带应用程序,直接执行,对于外部应用应输入完整路径
  4. app = application.Application(backend='uia').start(r'd:/notepad.exe')

方式二:连接已经打开应用程序,可以通过connect连接到指定的应用程序

  1. from pywinauto import application
  2. # 方式二:通过process指定进程号连接 # 通过handle 指定句柄号 连接
  3. app = application.Application('uia').connect(process=4035)
  4. app = application.Application('uia').connect(handle=123555)

2、窗口选择

打开窗口之后,要操作该窗口的话,那么就的先选中这个窗口,关于窗口的选择有以下几种方式

  1. # 方式1 :窗口名可以为中文
  2. wind_2 = app["窗口标题"]
  3. wind_2 = app["窗口类名"]
  4. # 方式2 :不适用于窗口名为中文的
  5. wind_1 = app.窗口标题​
  6. wind_1 = app.窗口类名​

3.窗口操作

  1. #窗口最大化
  2. wind.maximize()
  3. #窗口最小化
  4. wind.minimize()
  5. #窗口恢复正常大小
  6. wind.restore()
  7. #关闭窗口
  8. wind.close()
  9. #获取窗口坐标(左,顶,右,下)
  10. wind.rectangle()

4、控件操作

我们可以通过print_control_identifiers()这个方法,来获取这个窗口下的直接子控件,如下:

app['无标题 - 记事本'].print_control_identifiers()

        关于控件选择的方法有好几种,最简单的方法如下:

1

2

3

4

# 选择控件的方法

wind_calc = app["窗口名"]["控件名"]

# 案例操作:选择编辑窗口

edit = app['无标题 - 记事本']['Edit']

 内容输入的方法:type_key()

1

2

3

4

# 在编辑栏种输入内容

edit.type_keys("柠檬班")

edit.type_keys("python自动化")

edit.type_keys("musen")

 5、键盘操作

通过键盘完成以下操作:全选(ctrl+A) 复制(ctrl+C) 粘贴(ctrl+V)

pywinauto模拟操作键盘,需要使用到 pywinauto.keyboard.send_keys这个方法 

  1. from pywinauto.keyboard import send_keys​
  2. send_keys("^a")​ # 全选(ctrl+A)
  3. send_keys("^c")​ # 复制(ctrl+C)
  4. send_keys("^v")​ # 粘贴(ctrl+V)
  5. send_keys("{VK_RETURN}")​# 回车键
  6. 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) 复制(ctrl+C) 粘贴(ctrl+V)就使用的是修饰符^来代表ctrl
更多的键盘操作大家可以参考官网文档

 6、鼠标操作

pywinauto. mouse

pywinauto操作鼠标,需要导入mouse模块,mouse模块中设置了一系列的鼠标操作事件

鼠标移动:move(coords=(x轴坐标,y轴坐标))

鼠标点击:click

  1. # button指定左击还是右击,coords指定鼠标点击的位置​
  2. # 3.1、鼠标单击
  3. # 指定位置,鼠标左击
  4. mouse.click(button='left', coords=(40, 40))
  5. # 指定位置 鼠标右击
  6. # mouse.click(button='right', coords=(100, 200))
  7. # 3.2 鼠标双击
  8. mouse.double_click(button='left', coords=(140, 40))​
  9. # 4 按下鼠标:press
  10. # 将属性移动到(140,40)坐标处按下
  11. mouse.press(button='left', coords=(140, 40))
  12. # 5 释放鼠标:repleace
  13. # 将鼠标移动到(300,40)坐标处释放,
  14. mouse.release(button='left', coords=(300, 40))​
  15. # 6、右键单击指定坐标
  16. mouse.right_click(coords=(400, 400))​
  17. # 7、鼠标中键单击指定坐标(很少用的到)
  18. mouse.wheel_click(coords=(400, 400))​
  19. # 8 滚动鼠标
  20. # coords:指定鼠标的坐标位置。
  21. # wheel_dist指定鼠标滚轮滑动的次数,正数往上,负数往下。
  22. mouse.scroll(coords=(1200,300),wheel_dist=-3)

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/article/detail/44481
推荐阅读
相关标签
  

闽ICP备14008679号