【发布时间】:2018-11-13 21:34:53
【问题描述】:
我正在尝试让 PyWinAuto 在启用后立即单击按钮。这是我目前拥有的:
while running:
try:
app = pywinauto.Application().connect(title='Microsoft Outlook', class_name="#32770")['Microsoft Outlook']
app.Allow.Wait('ready', retry_interval=0.1)
app.Allow.Click()
print('Clicked')
except (pywinauto.findbestmatch.MatchError, pywinauto.findwindows.ElementNotFoundError):
time.sleep(0.1)
pass
如果我在按钮处于活动状态、单击并按预期打印“已单击”后启动它运行,则效果很好。如果我在按钮处于活动状态之前运行它,它会按预期等待它,然后似乎 try 并单击它 - 反复打印“单击”,直到我单击鼠标按钮或按 Enter 键。如果我取出 click() 并让它只返回 app.Allow ,那么无论我何时加载脚本,结果都是预期的,所以它似乎是 click() 这就是挂断。
无论我在哪里单击或激活哪个窗口,行为都是相同的 - 如果我单击任何地方或任何东西,它就会起作用,但在我这样做之前它不会做任何事情......这会破坏对象真正的自动化!
有什么想法吗?
谢谢!
【问题讨论】: