pywinauto type_keys() 不会发送所有密钥
pywinauto type_keys() won't send all keys
我正在做一些 windows 自动化,我需要使用 'Open' 对话框将文件导入工具。我有这个代码
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" 被发送到 文件名 window 上的编辑框。我尝试了其他名称而不是 "export.txt" 但在每种情况下都不会发送前几个密钥。我认为打开对话框和发送密钥之间的一小段延迟可能会有所帮助,但无济于事。
谁能告诉我这是怎么回事?
Python 3.4.5(我需要这个版本因为有其他包依赖)
Windows 10
试试这个
from pywinauto import keyboard
keyboard.send_keys("export.txt")
type_keys()
的可能影响:
- 里面调用了
.set_focus()
- 可以找到不正确的控件(使用
.draw_outline()
方法很容易检查)。
更可靠的设置整个文本的方法是.set_text("...")
,它仅适用于特定的控件类型。
我正在做一些 windows 自动化,我需要使用 'Open' 对话框将文件导入工具。我有这个代码
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" 被发送到 文件名 window 上的编辑框。我尝试了其他名称而不是 "export.txt" 但在每种情况下都不会发送前几个密钥。我认为打开对话框和发送密钥之间的一小段延迟可能会有所帮助,但无济于事。
谁能告诉我这是怎么回事?
Python 3.4.5(我需要这个版本因为有其他包依赖)
Windows 10
试试这个
from pywinauto import keyboard
keyboard.send_keys("export.txt")
type_keys()
的可能影响:
- 里面调用了
.set_focus()
- 可以找到不正确的控件(使用
.draw_outline()
方法很容易检查)。
更可靠的设置整个文本的方法是.set_text("...")
,它仅适用于特定的控件类型。