python - 如何让 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},以及不同的括号类型和没有括号,但这些都不起作用(使用没有括号没有错误,但什么也没发生)。
解决方案
在尝试使用 ctrl(^)、shift(+) 和 alt(%) 的符号版本时,我发现了一些不一致的地方。在文档中,它声明使用附加到输入的向下和向上,因为这将在按下中间的任何内容时按住 shift 键。我不得不在几个地方用 ctrl 键做到这一点。这样做是这样的:
type_keys("{VK_SHIFT down}{VK_TAB}{VK_SHIFT up}")
这将在按下选项卡时按住 shift 键。
推荐阅读
- php - 在 if 条件中,等于和不等于对于相同的条件返回 true
- angular - 角循环依赖。服务-> 状态-> 服务。如何处理?
- vb.net - 如何将解析的变量注入脚本字符串?
- java - 无法使用spring boot从另一台服务器连接rabbitmq
- c# - 在 C# 中与嵌套列表作斗争
- java - 根据预订时长获取最受欢迎的酒店房间
- python - 从 pandas 表中过滤和可视化选择键和值
- arrays - 如何重新格式化此 Excel 工作表?
- r - 格式化数据框行而不是列
- django - 无法使用 AWS SES 通过位于 AWS EC2 中的 Django 应用程序发送电子邮件