• 关注官方微信 微信公众号 添加方式:
    1:搜索微信号(gogolinux
    2:扫描左侧二维码
  • 登录 注册
  • 一起学LINUX - GOGOLINUX

    查看: 188|回复: 1
    打印 上一主题 下一主题

    ?PythonUIAutomation4Windows

    [复制链接]

    1

    主题

    1

    帖子

    12

    积分

    新手上路

    Rank: 1

    积分
    12
    跳转到指定楼层
    楼主
    发表于 2019-4-10 13:14:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    使用Python封装Windows UIAutomation API,支持MFC,Windows Forms,WPF,Metro,Qt,Firefox等程序的UI自动化,使得编写UI自动化脚本非常容易,支持平台Windows 7/8/8.1/10。
    代码原理介绍
    示例代码:自动化操作记事本
    #!python3
    # -*- coding:utf-8 -*-
    import time
    import subprocess
    import automation
    def AutomateNotepad():
    automation.ShowDesktop()
    #打开notepad
    subprocess.Popen('notepad')
    #查找notepad, 如果name有中文,python2中要使用Unicode
    window = automation.WindowControl(searchDepth = 1, ClassName = 'Notepad', SubName = '无标题 - 记事本')
    #查找edit
    edit = automation.EditControl(searchFromControl = window)
    time.sleep(1)
    edit.SetValue('hi你好')
    automation.Win32API.SendKeys('{Ctrl}{End}{Enter 2}Welcome to use Python UIAutomation for Windows{! 4}{ENTER}', 0.1)
    time.sleep(1)
    window.Close()
    time.sleep(1)
    buttonNotSave = automation.ButtonControl(searchFromControl = window, SubName = '不保存')
    buttonNotSave.Click()
    # or send alt+n to not save and quit
    # Win32API.SendKeys('{ALT}n')
    if __name__ == '__main__':
    AutomateNotepad()
    代码原理介绍
    示例代码:自动化操作记事本
    #!python3
    # -*- coding:utf-8 -*-
    import time
    import subprocess
    import automation
    def AutomateNotepad():
    automation.ShowDesktop()
    #打开notepad
    subprocess.Popen('notepad')
    #查找notepad, 如果name有中文,python2中要使用Unicode
    #查找edit
    edit = automation.EditControl(searchFromControl = window)
    time.sleep(1)
    edit.SetValue('hi你好')
    time.sleep(1)
    window.Close()
    time.sleep(1)
    buttonNotSave = automation.ButtonControl(searchFromControl = window, SubName = '不保存')
    buttonNotSave.Click()
    # or send alt+n to not save and quit
    # Win32API.SendKeys('{ALT}n')
    if __name__ == '__main__':
    AutomateNotepad()
    代码原理介绍
    示例代码:自动化操作记事本
    #!python3
    # -*- coding:utf-8 -*-
    import time
    import subprocess
    import automation
    def AutomateNotepad():
    automation.ShowDesktop()
    #打开notepad
    subprocess.Popen('notepad')
    #查找notepad, 如果name有中文,python2中要使用Unicode
    #查找edit
    edit = automation.EditControl(searchFromControl = window)
    time.sleep(1)
    edit.SetValue('hi你好')
    time.sleep(1)
    window.Close()
    time.sleep(1)
    buttonNotSave = automation.ButtonControl(searchFromControl = window, SubName = '不保存')
    buttonNotSave.Click()
    # or send alt+n to not save and quit
    # Win32API.SendKeys('{ALT}n')
    if __name__ == '__main__':
    AutomateNotepad()
    代码原理介绍
    示例代码:自动化操作记事本
    #!python3
    # -*- coding:utf-8 -*-
    import time
    import subprocess
    import automation
    def AutomateNotepad():
    automation.ShowDesktop()
    #打开notepad
    subprocess.Popen('notepad')
    #查找notepad, 如果name有中文,python2中要使用Unicode
    #查找edit
    edit = automation.EditControl(searchFromControl = window)
    time.sleep(1)
    edit.SetValue('hi你好')
    time.sleep(1)
    window.Close()
    time.sleep(1)
    buttonNotSave = automation.ButtonControl(searchFromControl = window, SubName = '不保存')
    buttonNotSave.Click()
    # or send alt+n to not save and quit
    # Win32API.SendKeys('{ALT}n')
    if __name__ == '__main__':
    AutomateNotepad()
    react-native-looped-carousel 是基于 React Native 的环形传送。 示例代码: 'use strict';var React = require('react-native');var Carousel = require('react-native-looped-carousel');var Dimen...更多react-native-looped-carousel信息
    WinGup 是一个 Windows 环境中用于应用程序自动升级的组件。更多WinGup信息
    KBButton 为 OS X 平台增加了 Twitter Bootstrap 风格的按钮。更多KBButton信息
    CNGridView
    CNGridView is a (wanna be) replacement for NSCollectionView. It has full delegate and dataSource support with method calls like known from NSTableView/UITableView....更多CNGridView信息
    Wooey 是一个简单的 Python 脚本的 Web UI 界面。它能够提供日常数据分析,文件处理等功能。更多Wooey信息
    JOrtho 是一个 Java 拼写检查库。可在 Swing 框架中跟 JTextComponent 一起工作,字典基于 Wiktionary.org,支持多语言。更多JOrtho信息
    最新新闻:JOrtho 1.0 发布,Java 拼写检查库2013年03月21日
    Wijmo 控件管理器 观察Studio for ASP.NET Wijmo的运行过程可发现,它管理着所有Studio for ASP.NET的新UI控件。简单的选择一个左边面板上的控件,就可以查看它内置的特性和功能。您可以改变设置、预览动画、主...更多ComponentOne ASP.NET Wijmo 控件管理器信息
    代码原理介绍
    示例代码:自动化操作记事本
    #!python3
    # -*- coding:utf-8 -*-
    import time
    import subprocess
    import automation
    def AutomateNotepad():
    automation.ShowDesktop()
    #打开notepad
    subprocess.Popen('notepad')
    #查找notepad, 如果name有中文,python2中要使用Unicode
    #查找edit
    edit = automation.EditControl(searchFromControl = window)
    time.sleep(1)
    edit.SetValue('hi你好')
    time.sleep(1)
    window.Close()
    time.sleep(1)
    buttonNotSave = automation.ButtonControl(searchFromControl = window, SubName = '不保存')
    buttonNotSave.Click()
    # or send alt+n to not save and quit
    # Win32API.SendKeys('{ALT}n')
    if __name__ == '__main__':
    AutomateNotepad()
    A drop-in Gradient Panel for Mac apps that works much like NSColorPanel.更多XMGradientPanel信息
    JGMenuWindow
    JGMenuWindow 是由一个 NSWindow 和 NSTableView 来模仿 NSMenu 的样子。更多JGMenuWindow信息
    ITSearchField
    ITSearchField is a subclass of NSSearchField, which can collapse and expand if you click the search icon....更多ITSearchField信息
    RBCustomFrames2
    RealBasic example which would eventually turn into RBComposer更多RBCustomFrames2信息
    A RealBasic OSX-style toolbar, useful when you want to have a consistent toolbar in your cross-platform applications....更多RBCustomToolbar信息
    RBCustomCells
    RBCustomCells 是一个可自定义单元格显示内容的列表控件。更多RBCustomCells信息
    DMSplitView 对标准的 OS X 的 NSSplitView 控件进行改造,可满足更复杂的要求: 子视图的大小和约束 分隔条位置 可收缩伸展的子视图 动画变换效果 可控制分隔条的粗细和样式 可保存和恢复分割条的状态...更多DMSplitView信息
    libRocket 是 C++ 用户界面包,基于 HTML 和 CSS 标准。它可以作为任意项目界面需求的完整解决方案。 libRocket 使用经过时间考验的开放标准 XHTML1.0 和 CSS2.0(同时借用 HTML5 和 CSS3 的特性),并扩展了它们...更多libRocket信息
    分享到:

    0

    主题

    586

    帖子

    1292

    积分

    金牌会员

    Rank: 6Rank: 6

    积分
    1292
    沙发
    发表于 2019-4-13 09:55:46 | 只看该作者
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    官方微博:

    官方头条号:

    官方微信

    手机访问:

    官方微信

    QQArchiver 手机版 小黑屋 一起学LINUX - GOGOLINUX 闽ICP备18025837号-1 Discuz! X3.4 Powered by ? 2001-2013 Comsenz Inc. 

    本站资源均来自互联网或会员发布,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

    快速回复 快速发帖 返回顶部 返回列表