如何阅读下面的标题名称是代码
from pywinauto.application import *
import time
app=Application.Start("apps.exe")
app.window_(title="aps a.b.c.d")
time.sleep(2)
在该代码发出错误后,如window is not found
。
所以,我的问题是如何将aps a.b.c.d
传递给窗口标题。
答案 0 :(得分:0)
我注意到pywinauto会导致非常严重的计时错误。如果这是你的问题,这甚至都不是坏事。
仅仅因为该过程已经启动并不意味着窗口存在且完全形成。你的睡眠应该在Application.Start()之后。但这是一个草率的解决方案,在所有情况下都不适用于所有系统。
我已经使用len(pwa_app.windows_())和pwa_app.top_window_()来确保应用程序处于我想要的状态。
然而,这有不足之处。那些函数似乎能够在创建或销毁窗口时导致异常。所以我没有使用普通的time.sleep()调用,而是通常有这样的东西。#Do While Loop; continuous retry on exception
condition = True
while condition:
try:
window_count = len( app.windows_() )
except:
continue
if window_count == num:
condition = False
else:
time.sleep( WAITTIME )
如果有人能向我解释更好的方法,我会很高兴。我没有在文档中找到任何提及这些问题的内容。虽然这不是优雅的,并且会增加CPU的负担,但它在100%的时间都能正常工作。
修改强>
在浏览stackoverflow时,我发现pywinauto提供的function完全 我的示例。