iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Pywinauto基础03--控件操作
  • 740
分享到

Pywinauto基础03--控件操作

python自动化 2023-09-08 20:09:39 740人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

操作窗体中的控件 Pywinauto使用以下顺序定位一个控件 控件的标题 title 控件的类名 friendly class 控件的标题加类名 title + friendly class 常用定位控件接口(重要) # 通过层

操作窗体中的控件

Pywinauto使用以下顺序定位一个控件

控件的标题 title

控件的类名 friendly class

控件的标题加类名 title + friendly class

常用定位控件接口(重要)

# 通过层级查找控件相关方法window(**kwargs) # 用于窗口的查找child_window(**kwargs) # 可以无视层级的找后代中某个符合条件的元素===>【最常用】parent() # 返回此元素的父元素,没有参数children(**kwargs) # 返回符合条件的子元素列表,支持索引,是BaseWrapper对象(或子类)iter_children(**kwargs) # 返回子元素的迭代器,是BaseWrapper对象(或子类)descendants(**kwargs) # 返回符合条件的所有后代元素列表,是BaseWrapper对象(或子类)iter_children(**kwargs) # 符合条件后代元素迭代器,是BaseWrapper对象(或子类)---> 存疑,是iter_descendants?

常用属性(重要)

# 常用的class_name=None, # 类名class_name_re=None, # 正则匹配类名title=None, # 控件的标题文字,对应inspect中Name字段title_re=None, # 正则匹配文字control_type=None, # 控件类型,inspect界面LocalizedControlType字段的英文名best_match=None, # 模糊匹配类似的titleauto_id=None, # inspect界面AutomationId字段,但是很多控件没有这个属性# 不常用parent=None,process=None,# 这个基本不用,每次启动进程都会变化top_level_only=True,visible_only=True,enabled_only=False,handle=None,ctrl_index=None,found_index=None,predicate_func=None,active_only=False,control_id=None,framework_id=None,backend=None,

控件可用的方法属性(重要)

# 以下几个只支持窗口模式的控件dlg.close() # 关闭界面dlg.minimize() # 最小化界面dlg.maximize() # 最大化界面dlg.restore() # 将窗口恢复为正常大小,比如最小化的让他正常显示在桌面dlg.get_show_state() # 正常0,最大化1,最小化2dlg.menu_select() # 菜单栏,eg:app.window.menu_select(Edit -> Replace)dlg.exists(timeout=None, retry_interval=None) # 判断是否存在        #timeout:等待时间,一般默认5s        #retry_interval:timeout内重试时间dlg.wait(wait_for, timeout=None, retry_interval=None) # 等待窗口处于特定状态dlg.wait_not(wait_for_not, timeout=None, retry_interval=None) # 等待窗口不处于特定状态,即等待消失        # wait_for/wait_for_not:            # * 'exists' means that the window is a valid handle            # * 'visible' means that the window is not hidden            # * 'enabled' means that the window is not disabled            # * 'ready' means that the window is visible and enabled            # * 'active' means that the window is active        # timeout:等待多久        # retry_interval:timeout内重试时间        # eg: dlg.wait('ready')# 鼠标键盘操作,只列举了常用形式,他们有很多默认参数但不常用,可以在源码中查看ctrl.click_input() # 最常用的点击方法,一切点击操作的基本方法(底层调用只是参数不同),左键单击,使用时一般都使用默认不需要带参数ctrl.right_click_input() # 鼠标右键单击ctrl.type_keys(keys, pause = None, with_spaces = False,) # 键盘输入,底层还是调用keyboard.send_keys        # keys:要输入的文字内容        # pause:每输入一个字符后等待时间,默认0.01就行        # with_spaces:是否保留keys中的所有空格,默认去除0ctrl.double_click_input(button ="left", coords = (None, None)) # 左键双击ctrl.press_mouse_input(coords = (None, None)) # 指定坐标按下左键,不传坐标默认左上角ctrl.release_mouse_input(coords = (None, None)) # 指定坐标释放左键,不传坐标默认左上角ctrl.move_mouse_input(coords=(0, 0)) # 将鼠标移动到指定坐标,不传坐标默认左上角ctrl.drag_mouse_input(dst=(0, 0)) # 将ctrl拖动到dst,是press-move-release操作集合# 控件的常用属性ctrl.children_texts() # 所有子控件的文字列表,对应inspect中Name字段ctrl.window_text() # 控件的标题文字,对应inspect中Name字段# ctrl.element_info.namectrl.class_name() # 控件的类名,对应inspect中ClassName字段,有些控件没有类名# ctrl.element_info.class_namectrl.element_info.control_type # 控件类型,inspect界面LocalizedControlType字段的英文名ctrl.is_child(parent) # ctrl是否是parent的子控件ctrl.legacy_properties().get('Value') # 可以获取inspect界面LegacyIAccessible开头的一系列字段,在源码uiawraper.py中找到了这个方法,非常有用# 控件常用操作ctrl.draw_outline(colour='green') # 空间外围画框,便于查看,支持'red', 'green', 'blue'ctrl.print_control_identifiers(depth=None, filename=None) # 以树形结构打印其包含的元素,详见打印元素        # depth:打印的深度,缺省时打印最大深度。        # filename:将返回的标识存成文件(生成的文件与当前运行的脚本在同一个路径下)ctrl.scroll(direction, amount, count=1,) # 滚动        # direction :"up", "down", "left", "right"        # amount:"line" or "page"        # count:int 滚动次数ctrl.capture_as_image() # 返回控件的 PIL image对象,可继续使用其方法如下:        # eg: ctrl.capture_as_image().save(img_path)ret = ctrl.rectangle() # 控件上下左右坐标,(L430, T177, R1490, B941),可输出上下左右        # eg: ret.top=177            # ret.bottom=941            # ret.left=430            # ret.right=1490

来源地址:https://blog.csdn.net/nikeylee/article/details/129476707

--结束END--

本文标题: Pywinauto基础03--控件操作

本文链接: https://www.lsjlt.com/news/400524.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Pywinauto基础03--控件操作
    操作窗体中的控件 Pywinauto使用以下顺序定位一个控件 控件的标题 title 控件的类名 friendly class 控件的标题加类名 title + friendly class 常用定位控件接口(重要) # 通过层...
    99+
    2023-09-08
    python 自动化
  • python3基础:文件操作
    相对路径和绝对路径 相对路径:顾名思义就是相对于当前文件的路径。网页中一般表示路径使用这个方法。 绝对路径:绝对路径就是主页上的文件或目录在硬盘上真正的路径。 比如 c:/apache/cgi-bin 下的,那么 c:/apach...
    99+
    2023-01-31
    操作 文件 基础
  • Python基础:文件的操作
    一、python可以在不导入任何模块的情况下对文件完成读、写、追加,替换(稍复杂)。二、打开文件:        1、f = open('text.txt')            这种方式打开,操作完后需要使用f.colse()关闭。  ...
    99+
    2023-01-31
    操作 文件 基础
  • python基础-文件操作(10)
    一、什么是文件 等等这些都叫做文件,各种格式的。但不仅仅限制于这些。   二、文件的作用 大家应该听说过一句话:“好记性不如烂笔头”。 不仅人的大脑会遗忘事情,计算机也会如此,比如一个程序在运行过程中用了九牛二虎之力终于计算出了结果,试...
    99+
    2023-01-31
    操作 文件 基础
  • python基础之文件操作
    目录1、打开文件2、写入3、追加4、读文件5、文件拷贝6、tell()7、truncate(size)8、seek()1、打开文件 open()函数简介 : 打开文件使用open函数...
    99+
    2024-04-02
  • python文件基础之(文件操作)
        在之前学习了python的列表、元组、集合等知识,接下来将python的文件相关的知识做一总结和分析。一 open函数 在我们用word、excel、vim对文件操作时,肯定要先打开文件,同样在编程里面也是需要将文件打开,然后再对文...
    99+
    2023-01-31
    文件 操作 基础
  • Vue组件基础操作介绍
    目录一、组件二、组件的创建三、组件中的data四、组件中的methods一、组件 组件是vue的重要的特征之一,可以扩展html的功能,也可以封装代码实现重复使用。 二、组件的创建 ...
    99+
    2023-01-14
    Vue组件创建 Vue组件data Vue组件methods
  • C++中文件操作基础详解
    目录文件操作文件分类文本文件写文件读文件二进制文件写文件读文件文件操作 意义:利用文件操作可以保存我们程序运行的信息,是持久化技术的体现 文件分类 按文件类型分为: 1、文本文件 &...
    99+
    2024-04-02
  • python基础操作---string
    1 #coding:utf-8 2 3 var1 = 'Hello World!' 4 5 print var1[::] 6 print len(var1) 7 print var1[0:len(var1)] 8 p...
    99+
    2023-01-31
    操作 基础 python
  • 【PG】PG基础操作
    mark笔记 1 登录 [postgres@hostnfsd ~]$ psql     --默认登录用户是当前系统用户,并默认登录和当前系...
    99+
    2024-04-02
  • Python-selenium基础操作
    一. selinum优势页面级测试,模拟用户真实操作强大library,支持页面元素各类操作多浏览器支持(chrome,firefox,ie)多语言支持(python,java,C#,php,ruby)二. 需要安装软件firefox  f...
    99+
    2023-01-31
    操作 基础 Python
  • python基础操作---tuple
    1 #coding:utf-8 2 3 tup1 = ('physics', 'chemistry', 1997, 2000); 4 tup2 = (1, 2, 3, 4, 5 ); 5 tup3 = "a", "b", "...
    99+
    2023-01-31
    操作 基础 python
  • Python 文件操作的基础:文件处理的基石
    ...
    99+
    2024-04-02
  • AndroidSRT字幕文件基础操作讲解
    目录简介下载创建文件夹文件下载下载调用以及文件解析调用解析ZIP文件解析外部引用转换转换SRT字幕文件获取SRT文件list实体数据显示字幕显示简介 需要在视频播放时,同步显示字幕,...
    99+
    2023-01-16
    Android SRT字幕文件 Android SRT Android字幕文件
  • Linux基础IO【文件理解与操作】
    ✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Great minds discuss ide...
    99+
    2023-08-18
    linux 服务器 运维 云原生 基础IO
  • Java Io File文件操作基础教程
    目录File 类概述File对象文件操作File静态方法获取各种路径路径整合获取classpath路径 (常用)获取Tomcat的bin目录常用功能创建目录创建文件判断文件或文件夹是...
    99+
    2024-04-02
  • Java基础之文件和目录操作
    目录一、前言二、构造方法三、文件元数据四、文件操作五、目录操作六、总结一、前言 文件和目录操作最终是与操作系统和文件系统相关的,不同系统的 实现是不一样的,但Java中的java.i...
    99+
    2024-04-02
  • GolangDefer基础操作详解
    目录defer的执行顺序defer与return谁先谁后函数的返回值初始化有名函数返回值遇见defer情况defer遇见panicdefer中包含panicdefer下的函数参数包含...
    99+
    2024-04-02
  • python3基础:目录操作
    目录操作 os模块提供了统一的操作系统接口函数,python中对文件和文件夹的操作都要涉及到os和shutil模块,在使用前需要使用import引入,例如; import os import os.path import shutil  ...
    99+
    2023-01-31
    操作 基础 目录
  • python之LIST基础操作
    1,创建列表>>> list1=['a','b','c','d'] >>> list2=[1,2,3,4] >>> list3=['a','b','c',1,2,3]2,访问列表中的值&...
    99+
    2023-01-31
    操作 基础 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作