使用pywinauto无法在Visual Studio上单击“文件”->“打开”->“项目/解决方案”或“帮助”->“技术支持”。
我正在尝试自动化类似于Visual Studio的应用程序:
from pywinauto.application import Application
import time
app = Application(backend="uia").Start(cmd_line=u'"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\\devenv.exe"')
vshwndwrapper = app["Start Page - Microsoft Visual Studio"]
vshwndwrapper.wait('ready')
app.window(title_re='Start*').MenuBar.MenuBarClick('#9->#0', app)
答案 0 :(得分:0)
此代码对我来说很好:
from pywinauto import Application
app = Application(backend="uia").start(r'"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe"')
app['Microsoft Visual Studio'].dump_tree()
它打印出许多可用于操作的元素。
如果您省略backend="uia"
,则仅输出以下很少的元素(在我的Visual Studio 2015实例中禁用了“开始”页面):
Control Identifiers:
HwndWrapper[DefaultDomain;;9f36883a-fdb6-4b48-ae9e-5ccdabe22dd2] - 'Microsoft Visual Studio' (L-8, T-8, R1688, B1018)
[u'Microsoft Visual StudioHwndWrapper[DefaultDomain;;9f36883a-fdb6-4b48-ae9e-5ccdabe22dd2]', u'HwndWrapper[DefaultDomain;;9f36883a-fdb6-4b48-ae9e-5ccdabe22dd2]', u'Microsoft Visual Studio']
child_window(title="Microsoft Visual Studio", class_name="HwndWrapper[DefaultDomain;;9f36883a-fdb6-4b48-ae9e-5ccdabe22dd2]")
|
| GenericPane - 'Toolbox - Initializing' (L1470, T130, R1673, B960)
| [u'GenericPane', u'ToolboxGenericPane', u'Toolbox']
| child_window(title="Toolbox - Initializing", class_name="GenericPane")
| |
| | TBToolboxPane - '' (L1470, T130, R1673, B960)
| | [u'Microsoft Visual StudioTBToolboxPane', u'TBToolboxPane']
| | child_window(class_name="TBToolboxPane")
|
| TBToolboxPane - '' (L1470, T130, R1673, B960)
| [u'Microsoft Visual StudioTBToolboxPane', u'TBToolboxPane']
| child_window(class_name="TBToolboxPane")
默认后端为"win32"
,这表示旧的Win32 API技术,而"uia"
表示Windows Vista中引入的UI自动化API(尽管也可以安装在WinXP上)。
我强烈建议您阅读Getting Started Guide,该书解释了库的核心概念。并请浏览其周围的其他文档。您可能会发现很多有用的信息。