我正在开发一个由Python驱动的自动化工具。
想象一下有一堆应用程序在运行:
APPS_POOL = ['Chrome', 'SomeApp', 'Foo']
脚本在循环中运行(每秒一次),需要在它们之间随机切换:
# Init App object
app = application.Application()
# Select random app from the pull of apps
random_app = random.choice(APPS_POOL)
app.connect(title_re=".*%s" % random_app)
print 'Select "%s"' % random_app
# Access app's window object
app_dialog = app.window_(title_re=".*%s.*" % random_app)
if app_dialog.Exists():
app_dialog.SetFocus()
第一次它可以正常工作,但是之后每次都无法将窗口置于前景。有什么想法吗?
编辑:脚本是从Win7 CMD运行的。一旦焦点设置为其他窗口,系统是否会以某种方式“阻止”CMD设置焦点?
Focus()
确实有漏洞。此外,使用try..except
是个不错的举措。 - 0leg