UIautomation+pyautogui+pyperclip登录SAP系统并修改姓名

Python实现UI自动化

本文以自动登录SAP系统并修改姓名的方式简单介绍几个Python的UI自动化包

下载windows工具Inspect

官网下载链接:https://docs.microsoft.com/zh-cn/windows/win32/winauto/inspect-objects
在这里插入图片描述
在这里插入图片描述
选择自己电脑版本的Windows SDK,并点击安装
在这里插入图片描述
安装好后在上面路径中找到inspect.exe,安装默认是在C盘该目录下,此处我在安装时改成了D盘
在这里插入图片描述

点击Show Highlight Rectangle可以定位当前鼠标所指的控件

运行saplogon.exe

导入subprocess模块,根据路径运行SAP的exe文件运行进程。

	import subprocess
	
    subprocess.Popen(r'D:\Program Files (x86)\sap\FrontEnd\SAPgui\saplogon.exe')

控件重要参数

在这里插入图片描述

定位“SAP300”,程序中寻找组件主要是分两种方式:一种是根据Name找到该组件;另一种是根据AutomationId找到该组件,ControlType参数指明了控件的类型,根据不同的类型在Python程序中使用不同的函数即可。

UIautomation的github文档如下:

https://github.com/yinkaisheng/Python-UIAutomation-for-Windows/blob/master/readme_cn.md

键盘操作

键盘操作使用了pyautogui模块

	import pyautogui
	
    pyautogui.typewrite(message='9149187') #键盘输入'9149187'
    pyautogui.press('tab')	#按下tab键
    
    pyautogui.hotkey('ctrl', 'v') #键盘按组合键
    pyautogui.press('enter') #按下回车键
    pyautogui.press('tab') #按下tab键

剪贴板操作

	import pyperclip
	
    pyperclip.copy('123456')#设置剪贴板内容为123456

定位控件示例

在这里插入图片描述
例如要点击这个更改的Button,我们可以发现它的AutomationId为“129”
在这里插入图片描述
同时观察控件树(Depth从0开始计数),发现它的Ancestors有3层,所以它的searchDepth的值为3。
具体代码如下所示:

    change = auto.ButtonControl(searchDepth=3,AutomationId="129")
    change.Click()

控制控件函数

不同类型的控件,使用对应函数的控件进行操作

控件类型函数名
ButtonButtonControl()
EditEditControl()
WindowWindowControl()
TextTextControl()

常用的操作

  • DoubleClick() 双击
  • Click() 单击
  • RightClick() 右键单击
  • SendKeys() 发送字符

下面给出示例:

	saplogon.TextControl(Name="SAP300").DoubleClick() #双击SAP300服务器

	auto.EditControl(searchDepth=4,AutomationId="1001").SendKeys('SU01') #向Edit框输入SU01
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值