pywinauto双击TreeItem或打开并在内部双击

问题描述

我有一个带有TreeViews和TreeItems列表的应用程序,我需要在一个TreeItem中“双击”,但是我找不到解决方法。

这是我的python代码:

#Open Application
app = Application(backend="uia").start(ApplicationName,wait_for_idle=True)
time.sleep(2)
dlg = app.top_window()


#Pass and login
app.dlg.child_window(title="",auto_id="LoginAuthPasswordBox",control_type="Edit").set_text('******')
app.dlg.child_window(auto_id="Inici_o de sesión",control_type="Button").click()

time.sleep(60)

#Connect to main window
appfull = Application(backend="uia").connect(title_re="IC Business Manager - Interaction Reporter")
dlgfull = appfull.top_window()

此代码正常运行,并且在dlgfull.print_control_identifiers()中,我得到了这个:https://i.stack.imgur.com/NtJM8.png

这是mi app: https://i.stack.imgur.com/7QWyB.png

我想“双击”第一项“ Informe estados de agente”,或者打开它并双击其中的第一项: https://i.stack.imgur.com/PHYQy.png

您能帮我吗?

我测试过但无法使用的某些行:

appfull.dlgfull.child_window(title="Informe de estados de agentes",control_type="TreeItem")..click()

dlgfull.child_window(title="Informe de estados de agentes",control_type="TreeItem").click()

appfull.dlgfull.child_window(title="Informe de estados de agentes",control_type="TreeItem").double_click()

appfull.dlgfull.child_window(title="Informe de estados de agentes",control_type="TreeItem").get_child(child_spec="agentes").click()

谢谢!

解决方法

同时使用GetItem()和select()或click()方法, 您还可以使用expand()方法来扩展和查看不可见的元素。

treeView = topWin.TreeView    # We get the treeview object here.
# You can get item like this 
node1 = treeView.GetItem([u'TopNodeName','node1Name'])
node1.select()

# OR something like this
treeView.GetItem([u'TopNodeName','node1Name']).click()

# OR access using index of that element in treeview like:
treeView.GetItem([1,0]).click()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...