Jon*_*tti 5 python qt ui-automation
是否可以使用 python(或一般情况下)从外部 3rd 方 Qt (5) Windows 应用程序读取数据/文本?
我试过的:pywinauto,但它只能“看到”主窗口,而不是子窗口/控件。大多数UI检查工具也看不到表格的数据(检查spyxx accexplorer32 WinSpector WinDetective Uispy ....,Ranorox Spy可以看到TableContents,但它是一个商业工具,我只是试用了它。另外我不清楚如何将这些信息转换为 python 内容。我发现的最接近的问题是:How To Click On Telegram Contacts Menu With Pywinauto 我丢弃了评论中提到的https://github.com/parkouss/funq正如自述文件中所说,对于 Windows,它必须符合 libFunq,我想它不是。
小智 0
7年后回答...
我建议在 Python 中使用 OCR。您可以使用一些 Python 库自动截取页面屏幕截图,然后通过 OCR 来提取图像以提取文本。
然后您可以尝试过滤该文本以获取您想要的数据。
除此之外,没有其他方法了,因为您正在询问已经编译的第三方应用程序。
https://noob3xploiter.medium.com/game-hacking-with-python-and-cheat-engine-5000369e27b9
^ 这也是一篇好文章,虽然它适用于游戏,但您实际上可以使用相同的示例直接从 RAM/内存中获取文本。
可能会做类似使用作弊引擎查找文本在内存中保存的位置,然后抓取内存地址并将其放入Python之类的事情。(有一种方法可以让它工作,即使你关闭并再次打开应用程序,我只是不知道如何)。
所以,这是两种主要方法。
获取一个库来截取应用程序窗口的屏幕截图
下载库以从屏幕快照中获取文本 (OCR)
一个帮助自动单击按钮并浏览 UI 的库(可能是 pywinauto)
您首先手动使用 Cheat Engine 来获取应用程序内存中保存字符串的位置。
即使您打开和关闭应用程序,您也必须学习如何使“作弊”起作用
您使用库将内存地址放入 Python 中,您应该能够获取那里保存的任何字符串。可能是偶数/浮点数或内存中保存的任何内容。我怀疑这些应用程序有反作弊功能,哈哈。