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:\ruanjian\ruanjian\notePa++\Notepad++\notepad++.exe")
#app = Application(backend='uia').start(r"F:\ruanjian\ruanjian\notePa++\Notepad++\notepad++.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:\ruanjian\ruanjian\notePa++\Notepad++\notepad++.exe")换成app = Application(backend='uia').start(r"F:\ruanjian\ruanjian\notePa++\Notepad++\notepad++.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:\ruanjian\python34\lib\site-packages\pywinauto\application.py", line 182, in __call__
    format(self.criteria[-1]['best_match']))
AttributeError: Neither GUI element (wrapper) nor wrapper method 'MenuSelect' were found (typo?)报如下错误解决办法:

 

posted @   木棉花的漂泊  阅读(5985)  评论(2编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示