解决pyinstaller打包涉及uiautomation截图时出现的dll找不到的错误

项目中有时候需要写一些小工具进行自动化测试、稳定性烤机使用。
因为主要是涉及到C端的应用,烤机过程中需要配合着错误截图。
为了定位元素以及操作方便,通常可以直接使用 uiautomation进行元素定位和操作
这个过程中则会同时设计到截图操作,
auto中有一个现成的截图方法

import uiautomation as auto
auto.GetRootControl().CaptureToImage(f"fail_{time.strftime('%H-%M-%S')}.png")

可以直接截取当前屏幕的画面。
但是打包成exe后,运行则会提示 :
Failed to load dynlib/dll ‘UIAutomationClient_VC140_X64’. Most likely this dynlib/dll was not found when the application was frozen.

大致意思就是无法加载 uiautomation的一个dll,这个dll可以在导入的uiautomation中找到。

终极解决方案

网上找了一轮 发现了一个神奇的工具:Enigma Virtual Box

介绍

和 winrar 自带的 自解压 功能不同,自解压的本质其实是将几个文件制作成一个压缩包,只是这个压缩包的格式是 exe ,运行这个 exe 后,一般会把文件解压缩到 %temp% 这个目录,之后在退出程序时再将这个目录下的文件清理掉,这个过程一般对用户是透明的。
而 Enigma Virtual Box 属于虚拟文件打包系统,不会释放文件到硬盘,所以它的打开速度要比自解压打包的 exe 启动快。
官网下载:https://enigmaprotector.com/en/downloads.html

使用方法

先选择主程序(不着急选附带的其他文件)

再定义导出文件的路径

添加其他附属文件关键的来了,把加载不上的dll添加进来

最后点执行封包,在导出目录里即可找到封装好的单文件。
完美解决该问题。这里记录下,免得后面又忘记怎么操作了。

解决pyinstaller打包涉及uiautomation截图时出现的dll找不到的错误相关推荐

  1. python / 解决 pyinstaller 打包后运行时提示找不到模块的问题

    在打包时候,并没有提示错误,可以顺利打包成 exe 文件.但是在运行打包好的软件时,会提示找不到模块,本人遇到的是找不到第三方模块,例如 requests .这时候需要在打包时指定 -p 参数,后面跟 ...

  2. linux安装python库报错pywin32_完美解决pyinstaller打包报错找不到依赖pypiwin32或pywin32-ctypes的错误...

    报错信息 最近闲来无事,用python的tkinter库开发了一款带日程提醒的万年历桌面程序.在程序开发结束开始打包时,却发现一直报错 PyInstaller cannot check for ass ...

  3. python打包exe黑框一闪而过,解决pyinstaller打包exe文件出现命令窗口一闪而过的问题...

    用pyinstaller打包的exe文件打开时,命令窗口一闪而过,并且未出现GUI界面,也看不到错误信息,然后去网上搜相关的信息,最多的两种说法: 1.添加raw_input()或者os.system ...

  4. 解决pyinstaller打包文件过大的问题(Anaconda)

    解决pyinstaller打包文件过大的问题(Anaconda) 前言 过程记录 关于pipenv创建的环境路径 前言 参考资料 pyinstaller基本操作 1.环境 anaconda.pycha ...

  5. 解决pyinstaller打包后的exe文件打开闪退的问题

    解决pyinstaller打包后的exe文件打开闪退的问题 闪退问题:一般我们打包完后的exe文件点击运行就会直接闪退,很难看到具体错误 解决步骤: 首先打开 cmd 进入到 exe 文件所在目录(c ...

  6. 解决pyinstaller打包exe文件过大(菜鸟一刀切傻办法)

    pyinstaller打包exe文件过大 作为认真学习了Python两个多月的小白,觉得python还是有很多玄学,一直搞不懂明明一毛一样的步骤,为什么我用pyinstaller打包出来的exe有30 ...

  7. python打包成exe_【Python】使用pyinstaller打包成exe文件时可以显示图片的方法

    本文作者:小赖同学 最近我在学习Python GUI的使用时,尝试在一个组件上使用了背景图片,然而,直接Run时这个背景图片是可以显示出来,可当使用pyinstaller打包成exe时却没有打包进去显 ...

  8. 解决PyInstaller打包程序exe在win7运行异常问题(OSError: [WinError 87] 参数错误、Error loading Python DLL python39.dll等)

    问题背景 平时一直在win10+anaconda环境下编写python程序,用pyinstaller打包后也没有问题.但是打包后发给其他同事,在win7机器上就出问题了. 经过一系列排查,终于解决了打 ...

  9. 解决Pyinstaller打包文件太大的办法(绝对有效,亲测!!!)

    Pyinstaller打包文件太大 1. 问题原因 在Anaconda下打包会将很多没有用到的模块打包进去,最终导致exe文件特别大. 2. 解决方案 通过pipenv建立一个纯净的Python虚拟环 ...

最新文章

  1. linux tomcat自启动设置
  2. catia v5法矢数据软件_catia介绍
  3. angularjs金额大写过滤器
  4. 测试专家谈IT从业人员修炼之道
  5. [渝粤教育] 中国地质大学 管理信息系统 复习题 (2)
  6. Bootstrap-1
  7. Loadrunner11破解
  8. 免费下载380套大型商业源码
  9. 如何提高公文写作水平?公文写作笔杆子写材料经典语句汇编(7类3800多字)
  10. 在线编辑Word——插入公式
  11. Android P+通过反射调用系统API实现高级功能
  12. 电路中滤波电容和退耦电容_电容在电路中究竟有多少种应用?
  13. vue中wath的源码实现
  14. 谱聚类(spectral clustering)
  15. springboot注解方式实现aop及常规方式
  16. MapReduce中各个阶段的分析(转自道法—自然老师)
  17. 码分复用:为什么可以通过收到的码片序列与站的序列做内积的值判断每个站是否发送数据及数据值
  18. Matlab中矩阵卷积函数convn
  19. Java获取本机ip和服务器ip
  20. 植物基因编辑最新政策解读(2021年7月)

热门文章

  1. 传智168期 SSH网上商城笔记day41~day45(2017年4月15日15:57:30)
  2. Windows OpenGL 图像白平衡色温
  3. 蓝牙(Bluetooth)
  4. mysql中avg函数如果有空值_SQL中AVG、COUNT、SUM、MAX等聚合函数对NULL值的处理
  5. 网易非人学园手游6月22日双端上线,这款漫画恶搞风5V5对战手游你喜欢吗?
  6. 应用dubbo打造仿猫眼_打造出色简历的5大应用
  7. mysql mdl 锁_详细分析mysql MDL元数据锁
  8. html css 八卦图,CSS动画-八卦图
  9. 计算机屏幕频率是什么,计算机屏幕的刷新率hz和帧速率fps有什么区别?看完之后,我终于明白了!...
  10. 计算机启动一下就停机,电脑主机亮一下就灭了,电脑开机3秒就循环重启怎么办...