当前位置: 首页 > news >正文

建筑设计大师深圳优化seo

建筑设计大师,深圳优化seo,西安网站建设罗鑫,域名cn和com有什么区别前言 上一篇文章地址: pywinauto:Windows桌面应用自动化测试(六)-CSDN博客 下一篇文章地址: 暂无 一、实战常用方法 1、通过Desktop快速获取窗口 通过之前章节我们了解到控制应用的方法为Application&#xff0…

前言

上一篇文章地址:

pywinauto:Windows桌面应用自动化测试(六)-CSDN博客

下一篇文章地址:

暂无

一、实战常用方法

1、通过Desktop快速获取窗口

通过之前章节我们了解到控制应用的方法为Application,需要连接应用再获取窗口。

from pywinauto.application import Application

现在我们可以通过Desktop直接获取窗口。

from pywinauto import Desktop   def is_logged_in():return Desktop(backend='uia').window(title='Main Page').exists()

两种方法对比如下: 

特性Desktop 方法Application 方法
用途查找和连接所有已打开的窗口启动和控制特定的应用程序
适用场景需要与系统中所有应用程序或窗口进行交互需要启动和控制特定应用程序
性能可能因为需要遍历所有窗口而较慢对于特定应用程序的操作更加高效
灵活性可以与任何已打开的窗口进行交互只能控制当前脚本启动的应用程序
启动应用程序不适用可以启动新的应用程序
控制应用程序生命周期不适用可以启动、关闭和重新启动应用程序
示例代码Desktop(backend='uia').window(title="...")Application(backend='uia').start('...').window(title="...")

2、获取嵌套窗口

假设窗口嵌套了很多层,那么我们该如何获取他呢?一层层获取,还是直接获取?其实,两种方式都可行,对于直接获取,可以采用Desktop方法,也可以获取到应用窗口后,采用children_window方法直接获取。

3、children_window与children的方法对比

(1)child_window方法

child_window方法用于精确查找单个子控件。它不会返回列表,而是返回第一个匹配的控件。如果没有找到匹配的控件,会引发异常。

(3)children方法

children方法用于获取一个窗口的所有直接子控件。这个方法会返回一个包含子控件的列表。它接受多个参数来筛选符合条件的控件。

特性child_window 方法children 方法
用途根据特定属性查找单个子控件获取所有子控件,或根据条件筛选子控件
返回值单个控件对象控件对象的列表
适用场景查找特定的、已知属性的控件需要遍历和操作多个控件
属性过滤可以使用多个属性过滤可以传递条件进行筛选
性能查找单个控件,性能较高获取所有子控件,如果控件较多,性能可能受影响
示例代码main_window.child_window(title="...", control_type="...")main_window.children(control_type="...")

4、inspect使用小技巧

当我们想选中窗口时,可以点击它来显示定位元素看看有没有框,如下图,你觉得你选中了框,但实际上你可能选中了标题。

还有一点就是元素的点击区域,你以为点中了,实际上只是点钟了框的中心,而它的作用域是文字部分。

5、控制应用内嵌的系统文件窗口

假设应用调用了系统文件窗口,需要对两个输入框输入信息,如下展示:

其中1需要输入文件路径,2需要输入文件名。

这种情况就需要使用多种操作来实现该功能,以下是一个简单的代码:

    def get_upgrade_folder_win(self):'''获取升级选择文件的窗口'''# return self.dialog.child_window(auto_id="MainForm.widget_client.viScanner.qt_tabwidget_stackedwidget.FormEquipmentlist.FirmUpgrageBox.widget.widget_path.pushButton_browers")# return Desktop(backend="uia").window(title_re="请选择固件升级文件")return self.dialog.child_window(title="请选择固件升级文件")def choise_upgrade_file(self, file_path):'''选择升级文件,需要传输文件路径:# 定义文件路径file_path = r"C:\Users\Downloads\OTA.gta"'''upgrade_win = self.get_upgrade_folder_win()# 分割路径directory, filename = os.path.split(file_path)print("Directory:", directory)print("Filename:", filename)upgrade_win.print_control_identifiers()way_element = upgrade_win.child_window(title_re=".*地址.*", found_index=0)rectangle = self._element_num_of_copies(way_element, 5 / 6)click(coords=rectangle)upgrade_win.child_window(title_re=".*地址.*", class_name="Edit", found_index=0).type_keys("{BACKSPACE}")upgrade_win.child_window(title_re=".*地址.*", class_name="Edit", found_index=0).set_text(directory)from pywinauto.keyboard import send_keyssend_keys("{ENTER}")upgrade_win.child_window(title="文件名(N):", class_name="Edit").set_text(filename)

这里涉及到一些输入文本的方法,汇总一下:

(1)set_text方法:
直接设置控件的文本内容。
app.window(title='YourWindowTitle').Edit.set_text('YourText')

(2)type_keys方法:
模拟按键输入,可以包括特殊键(如回车键、Tab键等)。
app.window(title='YourWindowTitle').Edit.type_keys('YourText{ENTER}')

(3)send_keys方法:
使用pywinauto.keyboard模块,可以模拟全局键盘输入。
from pywinauto.keyboard import send_keys
send_keys('YourText{ENTER}')

(4)WrapperObject.set_edit_text方法:
用于直接设置编辑控件的文本内容
edit = app.window(title='YourWindowTitle').Edit.wrapper_object()
edit.set_edit_text('YourText')

(5)WrapperObject.send_chars方法:
模拟逐字符输入
edit = app.window(title='YourWindowTitle').Edit.wrapper_object()
edit.send_chars('YourText')

一些特殊字符的输入方式总结如下:

特殊字符描述输入方式 (type_keys)输入方式 (send_keys)
{SPACE}空格键{SPACE}{SPACE}
{BACKSPACE}退格键{BACKSPACE}, {BS}, {BKSP}{BACKSPACE}, {BS}, {BKSP}
{BREAK}Break 键{BREAK}{BREAK}
{CAPSLOCK}大写锁定键{CAPSLOCK}{CAPSLOCK}
{DELETE}删除键{DELETE}, {DEL}{DELETE}, {DEL}
{DOWN}向下箭头键{DOWN}{DOWN}
{END}结束键{END}{END}
{ENTER}回车键{ENTER}, ~{ENTER}, ~
{ESC}Escape 键{ESC}{ESC}
{HELP}帮助键{HELP}{HELP}
{HOME}Home 键{HOME}{HOME}
{INSERT}插入键{INSERT}, {INS}{INSERT}, {INS}
{LEFT}向左箭头键{LEFT}{LEFT}
{NUMLOCK}数字锁定键{NUMLOCK}{NUMLOCK}
{PGDN}向下翻页键{PGDN}{PGDN}
{PGUP}向上翻页键{PGUP}{PGUP}
{PRTSC}打印屏幕键{PRTSC}{PRTSC}
{RIGHT}向右箭头键{RIGHT}{RIGHT}
{SCROLLLOCK}滚动锁定键{SCROLLLOCK}{SCROLLLOCK}
{TAB}Tab 键{TAB}{TAB}
{UP}向上箭头键{UP}{UP}
{ADD}加号键{ADD}{ADD}

http://www.hkea.cn/news/888556/

相关文章:

  • 46云虚拟主机股票发行ipo和seo是什么意思
  • 新泰做网站菏泽seo
  • 网站建设排名东莞seo收费
  • 做网站前后端的发布流程自己如何制作网站
  • 网站营销与推广策略百度一下官网首页百度
  • 网站建设张世勇100个免费推广b站
  • 网络营销的常用工具百度关键词优化点击 教程
  • 公司网站要怎么做少儿编程培训机构排名前十
  • 一个好的网站是什么样的商家联盟营销方案
  • 网站解除域名绑定网站广告收费标准
  • 郑州的建设网站有哪些手续免费发布推广信息的平台有哪些
  • 手机做网站软件优化服务平台
  • 网站图片装修的热切图怎么做营销技巧培训
  • 可以上传图片的网站怎么做百度关键词点击
  • 泉州网站制作广州seo网站开发
  • cuntlove wordpressseo外链发布工具
  • 购买一个网站空间如何可以多个域名使用吗长沙网站建设服务
  • 天津市建设委员会网站上海网站制作开发
  • 扬中网站建设墨子学院seo
  • 分析电子商务网站建设需求教案青岛今天发生的重大新闻
  • 汕头模板开发建站百度发布信息怎么弄
  • 健身网站开发项目总结关键词筛选工具
  • 重庆网站建设零臻靠谱国内永久免费的云服务器
  • 软件库合集软件资料2024郑州百度快照优化
  • 房地产开发公司网站建设方案seo去哪里学
  • 做网站可以赚钱吗百度小说搜索风云排行榜
  • 做网站交接需要哪些权限网站seo视频教程
  • 在网站怎么做收款二维码刷移动关键词优化
  • 问信息奥赛题怎么做 去哪个网站互联网网络推广
  • b2c电子商务网站系统下载专业网站seo推广