如何阅读下面的标题名称是代码
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
给窗口标题。
我注意到 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% 的时间都在工作。
编辑
在浏览 Stack Overflow 时,我发现 pywinauto 提供的功能与我的示例完全一样。