我正在使用pywinauto尝试自动化一些事情让我在伪代码中介绍一下我的工作流程
open excel
select add in (WOW.EXE) in menu
click on button in lower ribbon
app opens in a new window running in WOW.EXE
对于我的代码,我正在尝试类似于的东西
app = Application(backend="uia").connect(path="EXCEL.EXE", title="Book 1 - WOW open")
try:
app.Book1WOWopen.set_focus()
app.Book1WOWopen.MagicButton.click()
time.sleep(10)
except: pass
try:
app2 = Application(backend="uia").connect(path="WOW.exe", title="WOW WOW WOW")
app2.window(title="WOW WOW WOW").close()
except: pass
奇怪的是,这似乎不起作用。如果我在UIVerify中查看,我可以看到WOW窗口位于EXCEL的窗口树下所以我想知道这是否意味着它在某种程度上被隐藏了?
请检查WOW窗口在Inspect.exe
或UIVerify中是否具有相同或不同的进程ID。当单个应用程序的进程很少时,可能会出现这种情况:例如,Windows 10上的Calculator(是的,甚至Calculator:(。
一种可能的方法是使用Desktop(backend="uia")
而不是Application(backend="uia")
。当然,连接不是必须的。
Desktop(backend="uia").window(title="WOW WOW WOW").close()