在 Python 中读取对话框

Posted

技术标签:

【中文标题】在 Python 中读取对话框【英文标题】:Reading a Dialog Box in Python 【发布时间】:2011-07-19 18:18:18 【问题描述】:

我正在尝试使我使用 Python 完成的日常工作自动化。使用 win32gui 库,我能够将光标放在某个位置、单击和发送键。在此任务期间,会弹出几个消息/对话框,询问某些问题是或否。我希望能够阅读消息框中的问题,但不知道我将如何处理它。 谢谢

【问题讨论】:

【参考方案1】:

只是给您一种可能性,您可以通过在焦点位于对话框时发送带有 sendkeys 的Ctrl-C 来将对话框的全部内容复制到剪贴板。剪贴板的内容通常如下所示:

[Window Title]
Rename

[Content]
If you change a file name extension, the file might become unusable.

Are you sure you want to change it?

[Yes] [No]

pywin32 库中的win32clipboard 允许您检索剪贴板的内容,以便您可以解析文本并做出响应,或者做任何您需要做的事情:

import win32con
import win32clipboard

try:
    win32clipboard.OpenClipboard()
    text = win32clipboard.GetClipboardData(win32con.CF_TEXT)
    print(text)
except TypeError:
    print('Error: No text on the clipboard!')
finally:
    win32clipboard.CloseClipboard()

不幸的是,有些对话框无法像这样复制到剪贴板。我无法告诉你原因,但 Windows 7 中的删除确认对话框就是其中之一。

【讨论】:

以上是关于在 Python 中读取对话框的主要内容,如果未能解决你的问题,请参考以下文章

NVDA 在读取模态对话框中的焦点元素后读取所有模态内容

VC对话框读取文件

Python - 如何读取从Tkinter中选择的文件?

在VB中如何读取到桌面的路径?

无法读取文件夹。 (Android-文件-对话框)

python 打开文件对话框 filedialog tkinter GUI 编程