Pywinauto - 有 2 个元素符合条件
Pywinauto - There are 2 elements that match criteria
这是我的第一个 post!
我想问你我该如何解决这个问题。我正在尝试在 powerBI 中自动发布。我需要点击正确的工作区。现在我正在尝试只存在一次的“我的工作区”。
Please check this image of PowerBI window
This is screen from inspect.exe
部分 python 代码如下所示:
win = app.window(title_re = '.*Power BI Desktop')
win.Publish.click_input()
publish_dialog = win.child_window(auto_id = "KoPublishToGroupDialog")
publish_dialog.child_window(title = "My Workspace").click_input()
publish_dialog.Select.click()
错误信息看起来像这样
There are 2 elements that match the criteria {'title': 'My workspace', 'top_level_only': False, 'parent': <uia_element_info.UIAElementInfo - 'Publish to Power BI', WindowsForms10.Window.20008.app.0.3c73ab4_r6_ad1, 667196>, 'backend': 'uia'}
有人可以解释一下问题是什么吗?我该如何解决?
Additional info from inspect.exe
非常感谢
您可以选择要查找的元素:
child_window(title="My Workspace", found_index=0) # or found_index=1
也希望使用 control_type
,因为它可以加快搜索速度。
这对我有用:
dlg.Publish.click_input()
dlg.child_window(title="My workspace", control_type="DataItem", found_index=0).click_input()
dlg.Select.click()
这是我的第一个 post! 我想问你我该如何解决这个问题。我正在尝试在 powerBI 中自动发布。我需要点击正确的工作区。现在我正在尝试只存在一次的“我的工作区”。 Please check this image of PowerBI window
This is screen from inspect.exe
部分 python 代码如下所示:
win = app.window(title_re = '.*Power BI Desktop')
win.Publish.click_input()
publish_dialog = win.child_window(auto_id = "KoPublishToGroupDialog")
publish_dialog.child_window(title = "My Workspace").click_input()
publish_dialog.Select.click()
错误信息看起来像这样
There are 2 elements that match the criteria {'title': 'My workspace', 'top_level_only': False, 'parent': <uia_element_info.UIAElementInfo - 'Publish to Power BI', WindowsForms10.Window.20008.app.0.3c73ab4_r6_ad1, 667196>, 'backend': 'uia'}
有人可以解释一下问题是什么吗?我该如何解决?
Additional info from inspect.exe
非常感谢
您可以选择要查找的元素:
child_window(title="My Workspace", found_index=0) # or found_index=1
也希望使用 control_type
,因为它可以加快搜索速度。
这对我有用:
dlg.Publish.click_input()
dlg.child_window(title="My workspace", control_type="DataItem", found_index=0).click_input()
dlg.Select.click()