1. 使用win32gui获得窗口handle,成功率比较高
  2. 再用pywinauto的Application类方法进行连接,获得客户端窗口最外层的windowSpecification对象
    def getMainWindow(title)handle = win32gui.FindWindow(None, title)# 窗口最前win32gui.SetForegroundWindow(handle)    app = Application(backend='uia').connect(handle=handle)win_main = app.window(handle=handle)
    
  3. 面对比较复杂的控件层叠结构,省略.wrapper_object()方法直接调用控件对应的方法,比如.input_text(),如果多次调用,每次程序都会执行定位操作,耗时特别长。还是先将windowSpecification对象转为控件对象
    obj = win_main.window(auto_id="FrmWorklist").\window(auto_id="panelWhole").\window(auto_id="panelContent").\window(auto_id="panelPage").\window(auto_id="Condition").wrapper_object()
    obj.click_input()   # 点击操作
    
  4. 通过控件对象使用.parent()方法可以获得父级别控件obj,通过children()方法可以获得子级别控件。遍历子级别控件的属性可以获得想要操作的obj。重新通过windowSpecification对象查找控件的话,层别比较多的应用界面时间特别长。
    obj2 = obj.parent().parent().children().pop(0) # 明确位置的话,就可以直接使用pop出来
    # 位置不明确的话,可使用循环遍历的方式定位
    for o in obj.parent().parent().children():properties = o.legacy_properties() # 获得普通控件属性(dictionary),其中包含Name、Value、State等属性auto_id = o.automation_id() # 返回控件的.NET名称if properties.get("Value") = value:o.type_keys("abc") # edit控件输入字符breakelif auto_id = id:result = o.get_value() # 获得控件的value属性值break
    

pywinauto使用笔记相关推荐

  1. 【PC桌面自动化测试工具开发笔记】(一)基于pywinauto的元素定位工具

    (一)基于pywinauto的元素定位工具 前言 后台截图的实现 win32桌面绘图 源码 结果展示 前言 使用pywinauto库实现PC桌面应用程序自动化查找元素时遇到以下问题: 使用pywina ...

  2. python制作客户端软件_python 实现 PC 客户端自动化快速入门:pywinauto !

    一.前言 ​ 我们柠檬班的小可爱,在学完我们柠檬班自动化的课程之后,就掌握了接口自动化,web自动化,app自动化,这些工作中常用的自动化技能,在工作足以够应对90%以上的自动化需求了.不过近期也有部 ...

  3. pywinauto基础

    本博客仅为个人学习使用,是看大佬视频做的笔记,侵权可联系作者删除~~ pywinauto的安装,在cmd命令行窗口直接输入pip install pywinauto即可 1.通过进程号或句柄连接 fr ...

  4. 【读书笔记】知易行难,多实践

    前言: 其实,我不喜欢看书,只是喜欢找答案,想通过专业的解答来解决我生活的困惑.所以,我听了很多书,也看了很多书,但看完书,没有很多的实践,导致我并不很深入在很多时候. 分享读书笔记: <高效1 ...

  5. 【运维学习笔记】生命不息,搞事开始。。。

    001生命不息,搞事不止!!! 这段时间和hexesdesu搞了很多事情! 之前是机械硬盘和固态硬盘的测速,我就在那默默的看着他一个硬盘一个机械测来测去. 坐在他后面,每天都能看到这位萌萌的小男孩,各 ...

  6. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  7. pandas以前笔记

    # -*- coding: utf-8 -*- """ Created on Sat Jul 21 20:06:20 2018@author: heimi "& ...

  8. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  9. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

最新文章

  1. 2017年安全漏洞审查报告:安全补丁在不断增加,用户却不安装
  2. Scala学习笔记-5
  3. java学习笔记2022.1.15
  4. dockerfile的详细介绍
  5. react dispatch_React系列自定义Hooks很简单
  6. 90% 程序员都吃亏在这门技术上了,你呢!
  7. linux怎么打开rdp文件,Linux运维知识:linux实现rdp访问
  8. Maven多模块构建实例
  9. ssm 权限管理系统+nice--v1.02.exe代码生成器
  10. Hadoop--基础知识点--4--hadoop集群-docker搭建
  11. 全网最详细的Android11.0长按power键关机流程分析
  12. Ceph OSD Down
  13. 企查查app sign算法破解初步探索
  14. 三、SpringSecurity 动态权限访问控制
  15. C++重载相等运算符operator==的两种方式
  16. 免费论文翻译网站——通天塔
  17. 递归经典问题:迷宫以及八皇后
  18. Windows10合并非相邻磁盘或分区到系统C盘方法
  19. maker 预测_MAKER 进行基因预测
  20. docker compose 设置 ip地址

热门文章

  1. 拉格朗日乘子法(Lagrange multiplier)
  2. Use Vim in StackEdit
  3. python根据输入的利润求奖金_【每日一练】巧用python实现利润计算
  4. python-globals()用法
  5. 基于Visual C++2010 与office2010开发办公自动化(25)-如何使用自动化生成Excel图表
  6. 童心制物(Makeblock)推出全系列软硬结合STEAM教育平台
  7. 清华大学计算机专业考研英语,2017年清华大学计算机系921考研经验交流
  8. 搭档之家:长租公寓频爆雷,“高收低租”模式背后隐藏着怎样的骗局?
  9. mockito在spring boot中的使用
  10. 前端暑期实习面经——携程一面(附面试官建议