首页 > 解决方案 > 如何让 Pywinauto type_keys() 使用命名键,例如 {VK_TAB}

问题描述

我正在使用 pbixrefresher 自动刷新 PBI 报告,它可以正常工作,但是我还需要将数据表保存为 csv 文件,方法是将表复制到 excel 中,然后保存为 csv,因为表太大而无法导出作为 PBI 中的 csv(大约 60k 行)。我可以让 pywinauto 转到 PBI 中的数据视图,但我需要使用 Shift+TAB 突出显示表格并调出复制表格选项。通过查看 pywinauto 上可用的信息,我相信 type_keys("+{VK_TAB}",win) 是我需要使用的,但是我收到以下错误消息: pywinauto.keyboard.KeySequenceError: '}' not成立

我试过 {TAB},以及不同的括号类型和没有括号,但这些都不起作用(使用没有括号没有错误,但什么也没发生)。

标签: pythonpowerbipywinauto

解决方案


在尝试使用 ctrl(^)、shift(+) 和 alt(%) 的符号版本时,我发现了一些不一致的地方。在文档中,它声明使用附加到输入的向下和向上,因为这将在按下中间的任何内容时按住 shift 键。我不得不在几个地方用 ctrl 键做到这一点。这样做是这样的:

type_keys("{VK_SHIFT down}{VK_TAB}{VK_SHIFT up}")

这将在按下选项卡时按住 shift 键。


推荐阅读