我正在尝试将Power报告发布自动化到Power服务。我在这里找到了灵感- https://github.com/dubravcik/pbixrefresher-python
备注:,这是我第一次使用pywinauto
单击“发布”按钮后,将提示您选择要在其中发布报表的工作区。这就是问题所在。对于这个世界,我不能让pywinauto从ListBox中单击所需的工作区选项。下面是要在其中发布的工作区列表的示例。
让我们说,我想点击'c‘选项。('a‘现在被选中了)现在我有很多东西,tried.The输出的dialog.print_control_identifiers()
产生了下面的结构。
当前代码如下所示:
app_instance = Application(backend = 'uia').connect(path = PROCNAME)
app_window = app_instance.window(title_re = ".*Power BI Desktop")
app_window.wait("enabled", timeout = 300)
app_window.Save.wait("enabled", timeout = 300)
app_window.set_focus()
# Publish
if True:
print("Publishing...")
app_window.Publish.click_input()
publish_dialog = app_window.child_window(auto_id = "KoPublishToGroupDialog")
publish_dialog.print_control_identifiers()
# publish_dialog.wait("enabled", timeout = 300)
# modalDialog = publish_dialog.child_window(auto_id = "modalDialog")
# modalDialog.wait("enabled", timeout = 300)
# dItem = modalDialog.child_window(title=WORKSPACE,control_type="DataItem")
# dItem.click_input()
根据树结构,我认为还有另一个对话框可能“保存”ListBox。然而,玩这种游戏并没有产生结果。在这一点上,我真的不知道如何让Python做出选择。
我将永远感激你的帮助和建议。谢谢!
发布于 2020-12-27 19:20:03
这对我起了作用:
dash_reference = 'PBI_file_name_without_extention'
app = Application(backend='uia').connect(title=dash_reference+" - Power BI Desktop")
dlg = app[dash_simplifier + " - Power BI Desktop"]
dlg.child_window(title="My workspace", control_type="DataItem", found_index=0).click_input() #select my workspace and publish
dlg.Select.click()
发布于 2020-05-22 21:08:45
我看还没人帮过你。也许我正在开发的工具可以帮助你。这是Pywinauto的录音工具。它记录鼠标和键盘操作,并生成Python脚本。生成的Python脚本使用了一个简单API的函数,该API覆盖Pywinauto,函数返回Pywinauto。
试一试,告诉我它是否对你有帮助。https://github.com/beuaaa/pywinauto_recorder
https://stackoverflow.com/questions/61520855
复制相似问题