我正在尝试编写一个小函数,使它能够等待某个窗口出现,然后发送一个按键(alt + i)。我一直试图使用pywinauto来实现这一点,但是没有成功。根据文档中的说明,我可以使用以下方法:
pywinauto.application.WindowSpecification.Exists()
但我只是不明白如何指定我要查找的内容,可以使用窗口标题或进程名称,但找不到一个好的解释。
此外,除了pywinauto之外,是否有更好或更容易使用的模块? 我不需要进行复杂的自动化,只需等待窗口并发送一些按键。
编辑
好的,我找到了一个解决方案,一个简单的函数会循环无限次。
def auto_accept(*args):
while True:
try:
app = pywinauto.Application()
app.window_(title='Untitled - Notepad').SetFocus()
app.window_(title='Untitled - Notepad').TypeKeys("{1}{2}{3}")
except (pywinauto.findwindows.WindowNotFoundError, pywinauto.timings.TimeoutError):
pass
但是现在我总是收到一个警告,像"2015-07-13 12:18:02,887 信息: 向记事本键入文本:{1}{2}{3}",我无法使用警告模块过滤它们,是否有另一种方法可以过滤或禁用它们?这是个问题,因为当我使用py2exe创建一个exe文件后,程序关闭后它告诉我有错误,但唯一的错误是我从sendkeys获得的警告。
pywinauto.actionlogger.disable()
,感谢使用案例。 - Vasily RyabovWM_CREATE
事件上挂钩。这不能用几个词来解释。我们计划在 pywinauto 中实现一个不错的挂钩 API,但预计完成时间未知。 - Vasily Ryabov