在Python中读取对话框

时间:2011-07-19 18:18:19

标签: python win32gui

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

1 个答案:

答案 0 :(得分: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]
来自win32clipboard库的

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

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中的“删除确认”对话框就是其中之一。