Python自动化操作pywinauto

这篇具有很好参考价值的文章主要介绍了Python自动化操作pywinauto。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、连接到应用程序

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

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

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

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

from pywinauto import application

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

2、窗口选择

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

# 方式1 :窗口名可以为中文
wind_2 = app["窗口标题"]
wind_2 = app["窗口类名"]

# 方式2 :不适用于窗口名为中文的
wind_1 = app.窗口标题​
wind_1 = app.窗口类名​

3.窗口操作

#窗口最大化
wind.maximize()
#窗口最小化
wind.minimize()
#窗口恢复正常大小
wind.restore()
#关闭窗口
wind.close()
#获取窗口坐标(左,顶,右,下)
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这个方法 

from pywinauto.keyboard import send_keys​

send_keys("^a")​    # 全选(ctrl+A) 

send_keys("^c")​    # 复制(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) 复制(ctrl+C) 粘贴(ctrl+V)就使用的是修饰符^来代表ctrl
更多的键盘操作大家可以参考官网文档

 6、鼠标操作

pywinauto. mouse

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

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

鼠标点击:click文章来源地址https://www.toymoban.com/news/detail-456113.html

# 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)

到了这里,关于Python自动化操作pywinauto的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • pywinauto 自动化实现获取微信聊天记录(实例)

    现在在尝试用pywinauto获取聊天记录 希望得到以下结果: 1、获取所有好友和群里的新消息 2、新消息的内容包括:好友名、好友号、消息内容,消息时间 3、有新消息来时,能点击打开,获取内容 以下是使用pywinauto自动化实现获取微信聊天记录的示例代码:

    2024年02月10日
    浏览(34)
  • PC端windows自动化:pywinauto(三)控件定位方法和控件可用方法

    操作控件需要以下几个步骤:  第一步 实例化要操作的进程:得到的app是Application对象。 第二步 选择窗口 :app.window(\\\'一个或多个筛选条件\\\') 得到的窗口是WindowSpecification对象 第三步:基于WindowSpecification对象使用其方法再往下查找,定位到具体的控件 第四步:使用控件的方法

    2024年01月20日
    浏览(45)
  • Python操作自动化

    迷途小书童 读完需要 3 分钟 速读仅需 1 分钟 当我们需要自动化进行一些重复性的任务时,Python 中的 pyautogui 库就可以派上用场了,这个库可以模拟鼠标和键盘的操作,让我们的程序可以像人一样与计算机进行交互。 首先,我们需要安装 pyautogui 库。在命令行中输入以下命令

    2024年02月07日
    浏览(39)
  • python 自动化学习(四) pyppeteer 浏览器操作自动化

    背景 之前我在工作中涉及到了很多地方都是重复性的页面点点点工作,又因为安全保密原则不开放接口和数据库,只有一个页面来提供点击进行操作,就想着用前面学的自动化来实现,但发现前面学的模拟操作对浏览器来说并没有那么友好,而后改用“selenium”,但是存在一

    2024年02月12日
    浏览(44)
  • Python办公自动化 – 自动化文本翻译和Oracle数据库操作

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年01月17日
    浏览(74)
  • Python办公自动化 – 操作NoSQL数据库和自动化图像识别

    以下是往期的文章目录,需要可以查看哦。 Python办公自动化 – Excel和Word的操作运用 Python办公自动化 – Python发送电子邮件和Outlook的集成 Python办公自动化 – 对PDF文档和PPT文档的处理 Python办公自动化 – 对Excel文档和数据库的操作运用、设置计划任务 Python办公自动化 – 对

    2024年02月02日
    浏览(58)
  • Python 自动化指南(繁琐工作自动化)第二版:六、字符串操作

    原文:https://automatetheboringstuff.com/2e/chapter6/ 文本是程序将处理的最常见的数据形式之一。您已经知道如何用 + 操作符将两个字符串值连接在一起,但是您可以做得更多。您可以从字符串值中提取部分字符串,添加或删除空格,将字母转换为小写或大写,并检查字符串的格式是

    2023年04月08日
    浏览(87)
  • 【Python自动化测试】:模拟键盘操作

    在selenium中,把键盘的一系列按键封装在 Keys类 中,因此,我们在模拟键盘操作的时候,需要先导入Keys包,然后配合send_keys()方法使用 语法实现: send_keys(Keys.BACK_SPACE) 语法实现: send_keys(Keys.SPACE) 语法实现: send_keys(Keys.CONTROL, \\\'a\\\') 语法实现: send_keys(Keys.CONTROL, \\\'c\\\') 语法实现:

    2024年02月11日
    浏览(35)
  • 【Python自动化测试】:模拟鼠标和键盘操作

    在selenium中,把键盘的一系列按键封装在 Keys类 中,因此,我们在模拟键盘操作的时候,需要先导入Keys包,然后配合send_keys()方法使用 语法实现: send_keys(Keys.BACK_SPACE) 语法实现: send_keys(Keys.SPACE) 语法实现: send_keys(Keys.CONTROL, \\\'a\\\') 语法实现: send_keys(Keys.CONTROL, \\\'c\\\') 语法实现:

    2024年02月03日
    浏览(51)
  • 用Python操作PPT的办公自动化教程

    PPT通过其精美的可视化技巧以及良好的演示效果,成为了职场人士的必备技能。PPT的设计是一门大学问,无论是设计技巧,还是操作方法,都衍生出了专门的课程。 主要介绍Python操作PPT的技巧, 编程的优势在于处理速度,对于高大上的PPT设计,还是需要\\\"以人为本, 所以该模

    2024年02月12日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包