• python中安装pywinauto成功,执行时报如下错误的解决办法


    #! /usr/bin/env python
    # coding=gbk


    import time
    from pywinauto import application
    from pywinauto import Application

    # app = Application(backend='uia').start("notepad.exe")
    app = application.Application.start(r"F: uanjian uanjian otePa++Notepad++ otepad++.exe")
    #app = Application(backend='uia').start(r"F: uanjian uanjian otePa++Notepad++ otepad++.exe")
    app.Notepad.MenuSelect('帮助->关于记事本'.decode('gb2312'))
    time.sleep(6)

    # 这里有两种方法可以进行定位“关于记事本”的对话框
    # top_dlg = app.top_window_() 不推荐这种方式,因为可能得到的并不是你想要的
    about_dlg = app.window_(title_re=u"关于", class_name="#32770") # 这里可以进行正则匹配title
    # about_dlg.print_control_identifiers()
    app.window_(title_re=u'关于“记事本”').window_(title_re=u'确定').Click()
    app.Notepad.MenuSelect('帮助->关于记事本'.decode('gb2312'))
    time.sleep(.5) # 停0.5s 否则你都看不出来它是否弹出来了!
    ABOUT = u'关于“记事本”'
    OK = u'确定'
    # about_dlg[OK].Click()
    # app[ABOUT][OK].Click()
    app[u'关于“记事本”'][u'确定'].Click()

    app.Notepad.TypeKeys(u"杨彦星")
    dig = app.Notepad.MenuSelect("编辑(E)->替换(R)".decode('gb2312'))
    Replace = u'替换'
    Cancle = u'取消'
    time.sleep(.5)
    app[Replace][Cancle].Click()
    dialogs = app.windows_()
    注:代码为网上copy的代码,仅限与学习

     将app = application.Application.start(r"F: uanjian uanjian otePa++Notepad++ otepad++.exe")换成app = Application(backend='uia').start(r"F: uanjian uanjian otePa++Notepad++ otepad++.exe")

    原因:使用的默认的可访问性技术win32,但是notepad应该用uia

    二、UnicodeDecodeError: 'gb2312' codec can't decode byte 0xae in position 2: illegal multibyte sequence该错误的解决办法

    将app.Notepad.MenuSelect('帮助->关于记事本'.decode('gb2312'))换成app.Notepad.MenuSelect('帮助->关于记事本'.encode('UTF-8').decode('UTF-8'))

    三、    app.Notepad.MenuSelect('帮助->关于记事本'.encode('UTF-8').decode('UTF-8'))
      File "D: uanjianpython34libsite-packagespywinautoapplication.py", line 182, in __call__
        format(self.criteria[-1]['best_match']))
    AttributeError: Neither GUI element (wrapper) nor wrapper method 'MenuSelect' were found (typo?)报如下错误解决办法:

  • 相关阅读:
    027、获取后台正在运行的程序
    026、TelephonyManager的应用
    025、WiFi服务
    024、Wallpaper桌面墙纸
    023、在手机上实现打开文件功能
    Git使用ssh协议配置Github远程仓库避免踩坑指南(Windows环境)
    Linxu网络常用命令(CentOS 7)
    插入耳机后,内置麦克风(话筒)输入音量变很轻的解决办法(Windows 10 + Conexant声卡)
    PowerShell Write-Output 支持参数数组传入
    工商银行网银助手无法安装:系统无法打开指定的设备或文件
  • 原文地址:https://www.cnblogs.com/fengyiru6369/p/12097575.html
Copyright © 2020-2023  润新知