admin管理员组文章数量:1794759
Python UI自动化 编程(一) UIAutomation
Python UI自动化 编程
第一章 Python UI自动化 编程入门之打开文件夹双击文件
文章目录
- Python UI自动化 编程
- 前言
- 一、什么是Python UI自动化 编程
- 二、环境说明
- 1、Python环境:Python 3.8
- 2、IDE: Pycharm
- 3、使用的库:UIAutomation
- 三、使用步骤
- 1.引入库: uiautomation
- 2.打开文件夹
- 3、找到该文件夹
- 4、双击Typora.exe
- 5、代码总览
- 总结
前言
最近学习了Python的UI自动化编程,打算记录一下学习经历,梳理一下知识框架。由于我也是初学者,如有错误欢迎指出!
提示:以下是本篇文章正文内容,下面案例可供参考
一、什么是Python UI自动化 编程就我个人的理解,UI编程包括但不限于UI界面的开发,UI界面的测试。而本系列文章的主要侧重于UI界面的自动化操作。通过一段代码实现电脑自行点击、打开某文件或者修改某进程的操作。
利用Python编写脚本实现UI界面的自动化操作,解放双手,提高办公效率。
二、环境说明 1、Python环境:Python 3.8 2、IDE: Pycharm 3、使用的库:UIAutomation 三、使用步骤 1.引入库: uiautomation打开Pycharm 点击左上角File-Settings
点击Project-Python-Interpreder-加号
在搜索栏输入【uiautomation】点击搜索结果-Install Package
2.打开文件夹代码如下(示例):
os.startfile(folder_path)该处使用os库重点的startfile()打开文件夹
3、找到该文件夹使用软件Inspect查找该文件夹的树形结构
可以看到我的Typora文件夹的目录树形图。我选择的区域是列表中的白色区域,所以Inspect给我返回的树形图就一直到了"项目视图-列表",这样我们就可以利用UIAutomation通过树状图找到文件夹的项目列表了。
代码如下
list = uiautomation.WindowControl(searchDepth=1, ClassName="CabinetWClass")\\ .ListControl(ClassName="UIItemsView") return listsearchDepth是搜索深度,根据刚刚的树形图有7级深度。我们当然可以一级一级往下写,这样不但准确,而且搜索速度也快。但是如果树状图深度太大,我们也可以挑选中间节点来写,更改相应的searchDepth参数就可以了。ClassName是每个节点的ClassName,同时也可以指定参数Name。而WindowControl、ListControl这些主要是看Inspect软件找到的UI控制类型,如下图这种情况,该节点则调用ListControl。而所有的这些节点信都可以从软件Inspect找到。
4、双击Typora.exe我们已经找到了项目列表了,所以我们也可以找到列表中的元素,根据Inspect定位元素节点后,我们可以通过UIAutomation来找到该节点:
list_item = uiautomation.WindowControl(searchDepth=1, ClassName="CabinetWClass")\\ .ListControl(ClassName="UIItemsView")\\ .ListItemControl(Name="Typora.exe") return list_item如果我们想要点击或者双击该文件只需:
list_item.Click() # 单击 list_item.DoubleClick() # 双击 5、代码总览 import os import uiautomation as auto def show_folder(folder_path): """ 打开文件夹 :param folder_path: :return: """ os.startfile(folder_path) def findTarget(): """ uiautomation :param filename: 文件名 :return: """ target = auto.WindowControl(searchDepth=1, ClassName="CabinetWClass") \\ .ListControl(ClassName="UIItemsView")\\ .ListItemControl(Name="Typora.exe") return target if __name__ == '__main__': show_folder("D:\\\\Typora") target = findTarget() target.DoubleClick()总结
以上就是今天要讲的内容,本文仅仅简单介绍了UIAutomation的使用,而UIAutomation提供了大量能使我们快速便捷地操作UI界面。这篇文章仅仅是开始,接下来我也将继续学习继续记录。
本文标签: PythonuiUIAutomation
版权声明:本文标题:Python UI自动化 编程(一) UIAutomation 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1687049604a130282.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论