pywinauto type_keys()不会发送所有密钥

时间:2019-03-20 11:56:07

标签: pywinauto

我正在做一些Windows自动化操作,需要使用“打开”对话框将文件导入到工具中。我有这个代码

 w_open_handle = pywinauto.findwindows.find_windows(title=u'Open', class_name='#32770')[0]
 w_open = app.window_(handle=w_open_handle)

 # Enter filename in edit box
 w_open['File &name'].type_keys("export.txt")

运行此程序时,我注意到只有键“ rt.txt” 发送到窗口上的文件名编辑框。我尝试使用其他名称而不是“ export.txt”,但是在每种情况下都不会发送前几个键。我认为在打开对话框和发送键之间稍稍延迟会有所帮助,但无济于事。

有人可以告诉我这是怎么回事吗?

Python 3.4.5(由于其他软件包依赖性,我需要此版本)

Windows 10

2 个答案:

答案 0 :(得分:2)

type_keys()的可能影响:

  • 它在内部调用.set_focus()
  • 可以找到不正确的控件(使用.draw_outline()方法很容易检查)。

设置整个文本的更可靠的方法是.set_text("..."),仅适用于特定控件类型。

答案 1 :(得分:0)

尝试

from pywinauto import keyboard
keyboard.send_keys("export.txt")