1

Python を使用して日常業務を自動化しようとしています。win32gui ライブラリを使用して、カーソルを位置に配置し、クリックし、キーを送信することができました。このタスク中に、いくつかのメッセージ/ダイアログ ボックスが表示され、特定の質問に対して「はい」または「いいえ」を尋ねられます。メッセージ ボックスの質問を読みたいのですが、どのようにアプローチすればよいかわかりません。ありがとう

4

1 に答える 1

1

Ctrl-C1 つの可能性として、フォーカスがダイアログにあるときに sendkeys を送信することで、ダイアログ ボックスの内容全体をクリップボードにコピーできる場合があります。クリップボードの内容は通常、次のようになります。

[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 の [削除の確認] ダイアログもその 1 つです。

于 2011-08-04T18:52:47.793 に答える