记录并自动化winform和wpf应用程序

autogui的Python项目详细描述


#自动图形用户界面

autogui是一个gui自动化/测试工具,为用户提供高级关键字,以自动化wpf和winform应用程序。

##入门 使用pip安装

pip安装autogui

我建议在“工具”文件夹或“我的recorderspy repo”中使用类似recorderspy.exe的间谍工具。使用ctrl-r开始录制,ctrl-e结束录制,ctrl-w在录制期间选择gui元素。这将生成步骤的python和robot脚本。

任何其他的windows spy工具,比如microsofts inspect.exe工具,都将有助于找到元素的定位器属性。

大多数情况下,您可以只使用默认选择器(名称)来查找元素。

###实例 打开计算器,单击几个按钮并关闭。 ` from autogui import * open("calc")click("One")click("Two") close() ` 打开记事本,读写一些文字,然后关闭。 ` from autogui import * open("notepad")write("My name is Alex Lundberg","Text Editor") click("value:=My name is Alex Lundberg") sendkey("{ENTER}") append(" and this AutoGui","Text Editor") print(read("TextEditor")) close() `

打开记事本和计算器,并使用setwindow()在它们之间移动。 ` from autogui import * open("calc")print(getActiveWindow())open("notepad")print(getActiveWindow())setWindow("calculator")print(getActiveWindow())click("One",0,4)  #clicks on the first element(0) that matches title = "One". Changes timeout to 4 seconds #with selectors other than title you will need to use := with the property value to match click("One,controltype:=button,id:=num1Button,class=Button")close("Untitled - Notepad") close() #closes calculator window `

###方法 ` click(id,child=0,timeout=timeout) write(value,id,child=0,timeout=timeout) setWindow(id,contains=True,timeout=timeout) append(value,id,child=0,timeout=timeout) rightclick(id,child=0,timeout=timeout) sendkey(key) read(id,child=0,timeout=timeout) open(app,setActive=True) close(window="activeWindow") getActiveWindow() `

###选择器 若要选择元素,请尝试使用以下任一方法: ` name id value class controltype ` 属性以以下格式馈送到函数的id输入中:prop1:=propvalue,prop2:=prop2value。不需要在title属性前面加上前缀。 [可用属性的完整列表](https://docs.microsoft.com/en-us/dotnet/api/system.windows.automation.automationElement)

##许可证

这个项目是根据麻省理工学院的许可证授权的

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jsoup有效文件路径抛出java。木卫一。FileNotFoundException   java如何在不删除和添加Mapbox中的层的情况下更改SymbolLayer的Z值?   java计算用户定义年数内四个季度的降雨量   如何在Java中轻松地将格式为“20 0F 01”的字符串更改为十六进制值?   java在JPA或Hibernate中“持久类”和“实体”之间有什么区别?   java Android:AlarmManager“缺少对unregisterReceiver()的调用?”当按下后退按钮时   logcat中的java错误“isDataSchedulerEnabled():false”   java i/p col特性必须是字符串或数字类型,但不能是org。阿帕奇。火花利纳格小姐。向量   java如何从Post请求url和浏览器转储中隐藏密码   多线程javamail中的java问题   java我的用户应该直接连接到数据库吗?如何将用户连接到数据库;   java如何获得Spring数据JPA存储库工厂?   windows java字节数组转换为字符串,但不同的操作系统会产生不同的结果   java代码在eclipse中编译,但不在命令行上编译