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