首页 > 其他分享 >pip install uiautomation

pip install uiautomation

时间:2022-12-07 17:01:14浏览次数:39  
标签:uiautomation group Name win ButtonControl install 计算器 pip

pip install uiautomation

ui spy 下载

1.下载UI SPY

 

2.CMD指令导入uiautomation库

pip install uiautomation -i xxx
3.打开计算器,然后打开UISpy

 

如图ControlType为”ControlType.Window”

那么捕获窗口就用:uiautomation.WindowControl

如果ControlType为”ControlType.Text”

那么捕获窗口就用:uiautomation.TextControl

依次类推...

如果ControlType为”ControlType.Xxx”

那么捕获窗口就用:uiautomation.XxxControl

如果类型不明确,则使用uiautomation.Control

Uiautomation元素获取方法如下

程序窗口:uiautomation.WindowControl
按钮:uiautomation.ButtonControl
文本:uiautomation.TextControl
输入窗口:uiautomation.EditControl
文档控件:uiautomation.DocumentControl
单选控件:uiautomation.CheckBoxControl
复选控件:uiautomation.ComboBoxControl
日历控件:uiautomation.CalendarControl
Uiautomation元素的属性

ClassName、Name、ProcessId、AutomationId、searchDepth
常用的操作有

DoubleClick()双击
Click()单击
RightClick()右键点击
SendKeys()发送字符
SetValue()传值
4.代码写法

打开计算器

import subprocess
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')
#获取计算器的窗口

searchDepth的值表示搜索的层级,根据需求填写

import uiautomation as aut

#捕获窗口
win = aut.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)
#设置获取超时时间和应用窗口始终前置,被控应用一定要在最前面,不然控制不了

#设置全局搜索超时时间 15s
aut.uiautomation.SetGlobalSearchTimeout(15)

#控制的应用窗口前置
win.SetTopmost(True)
#按钮点击

#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")

number_group.ButtonControl(Name="一").Click()
5.控制计算器的完整例子

import subprocess
import uiautomation as aui

#控制计算器
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')

#设置全局搜索超时时间 15s
aui.uiautomation.SetGlobalSearchTimeout(15)

#捕获窗口
win = aui.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)

#控制的应用窗口前置
win.SetTopmost(True)

#计算器的运算符区域,此处用Name是因为“标准运算符”和“数字键盘”的ClassName一致,
# 所以用name属性,不用ClassName
operator_group = win.Control(searchDepth=3,Name="标准运算符")

#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")

number_group.ButtonControl(Name="一").Click()
operator_group.ButtonControl(Name="加").Click()
number_group.ButtonControl(Name="二").Click()
operator_group.ButtonControl(Name="等于").Click()

#获取结果
nResult = win.TextControl(AutomationId="CalculatorResults").Name
print("计算结果为:",nResult)

# 截图并保存到指定路径
win.CaptureToImage('C:/Users/user/Desktop/1.png')
# 关闭程序
win.GetWindowPattern().Close()
import subprocess
import uiautomation as aui

#控制计算器
#打开计算器
subprocess.Popen('C:\WINDOWS\system32\calc.exe')

#设置全局搜索超时时间 15s
aui.uiautomation.SetGlobalSearchTimeout(15)

#捕获窗口
win = aui.WindowControl(ClassName="ApplicationFrameWindow",searchDepth=1)

#控制的应用窗口前置
win.SetTopmost(True)

#计算器的运算符区域,此处用Name是因为“标准运算符”和“数字键盘”的ClassName一致,
# 所以用name属性,不用ClassName
operator_group = win.Control(searchDepth=3,Name="标准运算符")

#计算器的数字区域
number_group = win.Control(searchDepth=3,Name="数字键盘")

number_group.ButtonControl(Name="一").Click()
operator_group.ButtonControl(Name="加").Click()
number_group.ButtonControl(Name="二").Click()
operator_group.ButtonControl(Name="等于").Click()

#获取结果
nResult = win.TextControl(AutomationId="CalculatorResults").Name
print("计算结果为:",nResult)

# 截图并保存到指定路径
win.CaptureToImage('C:/Users/user/Desktop/1.png')
# 关闭程序
win.GetWindowPattern().Close()

 

标签:uiautomation,group,Name,win,ButtonControl,install,计算器,pip
From: https://www.cnblogs.com/ruiy/p/16963592.html

相关文章

  • uiautomation
    前言由于测试工作的需要,对于某些场景,总是需要进行一些重复的操作,比如测试一个股票交易下单的功能,需要覆盖不同的种类代码(主板、创业板、科创板、场内基金等),这个时候使用......
  • framework层的快速调试(和installd)
    系统代码的framework目录内,一共有3个模块单独编译,framework、services、framework-res.apk。一般来说如果不是修改资源文件需要改framework-res.apk,其他:   修改位于......
  • npm install时使用git协议无法获取资源错误
    npm中有些库需要从github上拉取,报错信息中提示:/bin/gitls-remote-h-tgit://github.com/adobe-webplatform/eve.gitfatal:unabletoconnecttogithub.com:github.......
  • 【Linux】Jenkins之Pipeline的使用(五)
    概念是一套运行在Jenkins上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。优势代码:Pipeline......
  • HOW-TO install ffmpeg, Mplayer, mencoder,FLVtool2 and Yamdi on Plesk Linux based
    SologinwithSSHandenterasroot.Weneedtomakesurethecorrectlibdirectoriesaresetupinldconfig.Editthe /etc/ld.so.conf fileandaddthefollowi......
  • Ubuntu1604 Install PHP 7.4
    Firstly,tobeabletoinstallacertainPHPversion,inthiscase,7.2you’llneedtoaddacertainrepositorytoyoursystemsudoapt-getinstallsoftware-......
  • 卸载 make install 编译安装的软件
     xargsrm<install_manifest.txtmakeinstall之后,build目录下会有一个install_mainfest.txt的文件,记录了安装的所有内容及路径,执行xargsrm<install_manifest.t......
  • Jenkins实践指南-01-pipeline概述
    1.pipeline概述1.1什么是pipeline从某种抽象层次上讲,部署流水线(Deploymentpipeline)是指从软件版本控制库到用户手中这一过程的自动化表现形式。——《持续交付-发布可......
  • windows下离线安装pyinstaller
    简介pyinstaller,用于将python脚本文件转化成可执行文件1、安装wheel安装包链接:https://pypi.org/project/wheel/#files下载解压后cmd控制台执行pythonsetup.pyinsta......
  • anaconda与pip加速
    anaconda与pip加速配置anaconda,minconda在家目录下新建文件.condarc将以下内容写入此文件,这里使用的是阿里云的加速channels:-defaultsshow_channel_urls......