首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用pywinauto自动安装软件时出错

使用pywinauto自动安装软件时出错
EN

Stack Overflow用户
提问于 2020-10-08 18:30:51
回答 1查看 79关注 0票数 2

在搜索之后,我找不到一个好的回复:

我正在尝试使用pywinauto实现公司软件的自动化。只要有可能,我就尽量使用app.print_control_identifiers()。这是上帝的恩赐!感谢Youtube和Vasily的帖子上的人们。请参阅下面的代码。

在安装过程中,它想要安装MS VC++可再发行版,我可以处理这一点。

下一个问题是告诉我Adobe Flash Player的版本(我知道,对吧?)是不兼容的。我已经使用Inspect来标识我需要单击以继续操作的OK按钮。以下是代码(清理后供公众使用):

代码语言:javascript
运行
AI代码解释
复制
from pywinauto.application import Application
import time

app = Application(backend="uia").start("C:\\Users\\me\\program.exe")
time.sleep(5)
#This addresses the need to install Microsoft C++ Redistributable
dlg = app['program - InstallShield Wizard']
dlg.Install.click()
time.sleep(5)

#This is to get past an install failure and to move on
dlg.Yes.click()
time.sleep(10)

#This is a dialog box saying that some component is incompatible and this is where I am stuck
# And the window title now just says 'program' vs. 'program - InstallShield Wizard'
new_dlg = app['program']
new_dlg.OK.click()

以下是失败信息:

代码语言:javascript
运行
AI代码解释
复制
C:\Python37\python.exe C:/Users/me/PycharmProjects/myProject/pywinauto_install.py
Traceback (most recent call last):
  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 258, in __resolve_control
    criteria)
  File "C:\Python37\lib\site-packages\pywinauto\timings.py", line 458, in wait_until_passes
    raise err
pywinauto.timings.TimeoutError

在处理上述异常的过程中,发生了另一个异常:

代码语言:javascript
运行
AI代码解释
复制
Traceback (most recent call last):

  File "C:/Users/me/PycharmProjects/myProject/pywinauto_install.py", line 23, in <module>
    new_dlg.OK.click()

  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 379, in __getattribute__
    ctrls = self.__resolve_control(self.criteria)

  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 261, in __resolve_control
    raise e.original_exception

  File "C:\Python37\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes
    func_val = func(*args, **kwargs)

  File "C:\Python37\lib\site-packages\pywinauto\application.py", line 203, in __get_ctrl
    dialog = self.backend.generic_wrapper_class(findwindows.find_element(**criteria[0]))

  File "C:\Python37\lib\site-packages\pywinauto\findwindows.py", line 87, in find_element
    raise ElementNotFoundError(kwargs)

pywinauto.findwindows.ElementNotFoundError: {'best_match': 'program', 'backend': 'uia', 'process': 22184}

Process finished with exit code 1

我基于我看到的一篇文章创建了new_dlg,所以如果这是错误的,请拍拍我的手。我不是一个训练有素的开发人员。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-19 20:41:53

要检查顶层对话框窗口的文本,请打印以下内容:

代码语言:javascript
运行
AI代码解释
复制
print([w.window_text() for w in app.windows()])

然后,只需将正确的密钥复制到您的代码中作为dict key,而不是app['program']。更灵活的方式看起来像这样:

代码语言:javascript
运行
AI代码解释
复制
new_dlg = app.window(title_re="Program - .*")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64268631

复制
相关文章
zblogasp安装时出错,左侧显示无法使用Access数据库
今天突然想起之前的一个网站博客,感觉还不错,但它是zblogasp的,所以想移植到zblogphp版本,但是把网站数据恢复之后登陆后台显示,数据库连接出错,因为asp+access类型,目录位置都对,所以可能是access数据库连接失败。
李洋博客
2021/06/15
4.7K0
软件测试|自动化界面操作神器pywinauto教程(一)
Pywinauto是一个强大的Python库,用于自动化Windows应用程序的界面操作。无论是进行GUI测试、数据采集还是自动化任务,Pywinauto都能提供便捷的解决方案。本文将介绍Pywinauto的基本使用方法,帮助读者快速上手并开始自动化Windows界面操作。
霍格沃兹测试开发Muller老师
2023/08/20
3.1K0
DreamweaverCS6安装时出错的解决教程
目前,CS6 是 Adobe dreamweaver 的最新版本,增强了对 jQuery 、jQuery Mobile 、HTML5 和 CSS3 的支持,优化了FTP功能,及时保存在本地和远程服务器,更有利于团队协作,当然我之前用的是很老的版本,今天同事在安装的时候出现"0xc000007b"错误代码,然后整理里一下解决方案。
李洋博客
2021/06/15
2.9K0
实战记录—PHP使用curl出错时输出错误信息
踩过的坑,实在不想再踩了,记录记录。 CURL错误列表 curl_exec($ch);//执行curl if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch);//出错输出错误 } curl_close($ch);//关闭curl 同理,像正则,Json,数据库这些出错时基本都会有提供有帮助的错误信息 CURL状态码列表 状态码 状态原因 解释 0 正常访问 1 错误的协议 未支持的协议。此版cURL 不支持这一协议。 2 初始
房东的狗丶
2023/02/17
6.2K0
quartus ii运行错误_安装quartus时弹出错误
Info: ******************************************************************* Info: Running Quartus II 64-Bit Analysis & Synthesis Info: Version 11.0 Build 157 04/27/2011 SJ Full Version Info: Processing started: Thu May 15 13:09:59 2014 Info: Command: quartus_map –read_settings_files=on –write_settings_files=off simulate -c simulate Info: Parallel compilation is enabled and will use 2 of the 2 processors detected Info: Found 1 design units, including 1 entities, in source file simulate.v Info: Found entity 1: modelsim_test Error: Top-level design entity “simulate” is undefined
全栈程序员站长
2022/11/04
5.1K0
quartus ii运行错误_安装quartus时弹出错误
Pywinauto之Windows UI自动化7
最近公司开发了一款基于PC端的桌面应用程序,需要进行自动化测试,避免重复的点工。为此,也在网上找了一些资料,都不符合当前需求,最终决定参考网上资料,使用python语言去实现。
用户6367961
2021/08/12
2.1K0
Pywinauto之Windows UI自动化8
上篇文章谈到,使用python的第三方pynput库,进行录制、回放。那么,我们得首先了解下这个pynput库的使用方法。
用户6367961
2021/08/12
1.3K0
Pywinauto之Windows UI自动化5
在时钟附近有表示正在运行的应用程序的图标,该区域通常被称为“系统托盘”,也称为通知区域。该区域的访问,可以通过启动“Explorer.exe"这个应用程序,可以在'任务栏'这个窗口中找到有标题为'用户提示通知区域'的工具栏控件。
用户6367961
2021/06/21
1.7K0
Pywinauto之Windows UI自动化5
Pywinauto之Windows UI 自动化1
前言,公司要搭建自动化测试环境,涉及到对设备软件的烧录操作,在网上找了些资料,发现pywinauto这个python库,能很好的支持PC端跑自动化,为此,记录下学习过程
用户6367961
2019/09/29
8.7K1
Pywinauto之Windows UI 自动化1
Pywinauto之Windows UI自动化3
3、查询等待法。查询有个缺点就是如果一直没出现,就会一直等待。所以我们最好设置一个等待时间限。
用户6367961
2019/09/29
3K0
Pywinauto之Windows UI自动化3
软件测试|PC端应用自动化最佳解决方案——Pywinauto
「Pywinauto 」作为 WinAppDriver 的替代方案,能完美完成 PC 端的自动化吗?闲话少说,是骡子是马,牵出来遛遛,证明一下!
霍格沃兹测试开发Muller老师
2023/02/08
3.5K0
Pywinauto之Windows UI自动化2
上篇文章中也有写到pywinauto官网地址,查看pywinauto的帮助文档:https://pywinauto.readthedocs.io/en/latest/code/pywinauto.application.html
用户6367961
2019/09/29
2.3K0
Pywinauto之Windows UI自动化2
Pywinauto之Windows UI自动化6
# pywinauto+selenium 实现文件上传 import pywinauto from selenium impor webdriver from pywinauto.keyboard import send_keys # 测试网址 url = "https://www.layui.com/demo/upload.html" browser = webdriver.Chrome() browser.get(url=url) # 点击上传按钮 browser.find_element_by_
用户6367961
2021/06/21
7980
pywinauto自动化操作桌面程序2021.11.8
1、打开程序 2、定位窗口 3、定位控件 4、对控件进行填写、勾选、点选、点击等操作了。 from pywinauto.application import Application import pyautogui import time import pandas #打开指定的应用程序 #1.打开应用: app = Application(backend="uia") #2.定位软件窗口 #一定要等待1秒,要不让太快回出错 time.sleep(1) dlg = app.connect(title_r
用户7138673
2022/09/22
7220
[deepin]解决:处理软件包 mysql-server (--configure)时出错的问题
依次执行如下命令 删除依赖包: sudo rm -rf /var/lib/mysql/ -R 删除配置文件: sudo rm -rf /etc/mysql/ -R 卸载相关软件: sudo apt autoremove mysql* --purge sudo apt remove apparmor 安装mysql: sudo apt install mysql-server mysql-common
landv
2020/11/13
1.3K0
pywinauto桌面应用自动化入门篇
本案例因为start方法无法启动应用程序,所以我这里使用了os.system去启动的应用程序
懿曲折扇情
2022/10/28
5.8K0
pywinauto桌面应用自动化入门篇
Mac 下安装使用numpy出错解决方法
python将数据生成图表的时候报了一个错。 RuntimeError**: Python is not installed as a framework. The Mac OS X backend will not be able to function correctly if Python is not installed as a framework. See the Python documentation for more information on installing Python as
简单、
2018/07/18
7010
Python结合Pywinauto 进行 Windows UI 自动化
https://blog.csdn.net/z_johnny/article/details/52778064
墨文
2020/02/28
5K0
Pywinauto之Windows UI自动化4
列表框:ListBox 列表显示控件:ListView
用户6367961
2023/03/08
4K0
Pywinauto之Windows UI自动化4
点击加载更多

相似问题

使用pywinauto时出错

22

我们可以使用pywinauto自动安装软件并自动进行配置吗?

12

导入pywinauto模块时出错

117

安装新软件时出错

31

使用pywinauto自动化MSI安装程序

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文