Python 自动化与 pywinauto 一起使用很简单

小夏 科技 更新 2024-01-28

在当今的自动化时代,Python因其简洁、可读、高效等特点,逐渐成为编程界的主流语言。 在 Python 自动化领域,PywinAuto 库提供了一种控制 Windows 应用程序自动化的简单方法。 本文将揭开 PywinAuto 的神秘面纱,让您轻松掌握 Python 自动化。

PyWinAuto 是一个基于 Python 的 Windows 应用程序自动化库。 它支持模拟鼠标和键盘操作,以实现对Windows应用程序的自动控制。 使用 PyWinAuto,您可以轻松登录 Windows、自动打开和关闭应用程序、自动填写表单等。

1 安装。

可以使用 pip 命令在命令行上安装 pywinauto 库:

2 基本用法。

1)应用程序对象。

在控制软件的初始步骤中,我们需要启动一个Windows软件,每个软件(进程)都是一个应用程序对象。 实例化 Application 对象时,可以传入后端参数,包括 win32(默认)和 uia 选项。 如果您不知道要测试的软件属于哪个框架,则可以使用 inspect (UIA) 和 spy++ (win32)。 选择显示更多信息的工具。

application 对象。

示例:微信自动登录。

2) WindowSpecification 对象。

我们可以通过使用 Application 对象的 window() 方法来获取窗口,每个窗口都是一个 windowspecification 对象。 我们可以通过传递诸如 title、classname 或 best match 之类的参数来获取这些 windowspecification 对象,这些参数可以在 inspect 中找到exe的。 需要注意的是,你在 inspect 上看到的名称实际上是 window() 标头参数的对应名称。

windowSpecification 对象。

示例:微信最大化窗口显示。

3) 元素控制。

通常,窗口包含各种元素,例如按钮、编辑栏、树视图、复选框、对话框、工具栏、状态栏、列表框、窗格、菜单、菜单项、静态内容、工具提示、列表控件、单选框、组合框、选项卡控件、组框、弹出菜单、标题等。

访问这些控件时,将返回从 ElementInfo 继承的对象(UIAelementInfo 或 HWNDEdElementInfo)。

elementInfo 以获取一些重要的属性或方法。

示例:获取微信左侧导航栏按钮的信息。

除了可以获取元素主要信息的元素信息外,这些元素被包装成一个包装器。

Basewrapper 具有一些重要的属性或方法。

例如,点击微信左侧的“设置和其他”按钮。

4)鼠标操作。

使用 pywinauto 进行鼠标点击时,必须指定点击的位置,桌面可以作为坐标系的起点,其中左上角是原点,右上角是 x 轴的正方向,向下方向是 y 轴的正方向。 使用pywinauto的鼠标模块可以进行鼠标操作。

鼠标操作一些重要的属性或方法。

参数说明:button默认值为left,即鼠标左键,可选值为left、right、middle、move、wheel。

coords 的默认值为元组 (0, 0),元组中的两个整数分别是 x 轴和 y 轴的值。

wheel dist 表示滚动的距离,大于 0 表示向上滚动,小于 0 表示向下滑动。

例如,要获取微信对话列表,请向下滚动到 500

5)键盘操作。

在键盘操作中,我们主要按下键盘上的按键,相关的 API 在键盘模块中提供了几种方法。 其中最重要的是 send keys() 函数,其第一个参数是要按下的键,以及其他参数,例如空格、制表符、换行符、关闭 numlock、set for、vk packet,可用于自定义某些功能。

通常用于键盘操作的键值。

例如,如果您在微信上搜索用户,请输入文本并全选删除。

作为 Python 自动化控制库的一员,pywinauto 易于使用且功能强大。 通过本文的介绍,相信大家对pywinauto有一定的了解和认识。 未来,希望大家能够充分发挥pywinauto的优势,提高工作效率,在以后的习和工作中实现更高水平的自动化控制。

自动化

相似文章

    学习 习 Python 自动化,轻松成为办公专家!

    ...

    非标自动化设备与标准自动化设备的优缺点对比

    自动化设备的发展改变了生产制造的格局,其中非标自动化设备和标准自动化设备成为众多企业的首选。本文将从优缺点的比较入手,带大家了解这两种自动化设备的区别和选择。一 非标自动化设备的优缺点 非标自动化设备根据客户需求定制开发。它具有以下优点 .个性化定制 可根据客户的具体需求设计制造非标自动化设备,满足...

    Reishauer 精磨机在自动化领域的应用

    Reishauer 精磨机在自动化领域的应用。数据驱动的自动化 瑞士Reishauer炼油厂可以与数据采集和分析系统相结合,实现数据驱动的自动化。通过对加工过程中的数据进行监控和分析,可以实时调整磨削参数和工艺,以优化加工质量和效率。这种数据驱动的自动化可以使生产线更加智能,并实现更高的生产力和资源...

    自动折弯机器人

    折弯机器人是一种用于折弯成型钣金的自动化设备,可实现高效 准确的折弯加工。机器人主要通过一系列精确的机械运动和传感器控制来工作,将钣金定位在模具中并施加压力以将其弯曲成形状。折弯机器人具有高精度 高效率 高适应性等特点,可以通过更换不同的模具来加工不同形状的金属板材,广泛应用于汽车 航空航天 电子 ...

    自动种子库的自动化管理和智能保护措施

    介绍 种子是农业生产的基础,种子的质量和保存对农作物的产量和质量至关重要。随着科技的不断进步,自动化种子库的自动化管理和智能化保护措施越来越受到重视。本文将重点介绍自动种子库的自动化管理和智能保护措施。.自动化管理。.温度和湿度控制 温度和湿度是种子储存中的两个重要因素。自动化管理系统可根据种子类型...