pywinauto 键入键不起作用

pywinauto typekeys not working

我正在使用 pywinauto 将文件上传到网络服务器。我正在使用 Selenium 导航到一个页面并激活 windows 资源管理器上传对话框,然后调用 pywinauto 来访问已打开的 window。我已经能够做到这一点,但我只能让它在文件名字段中键入密钥。我试图在目录字段中键入内容,以便我可以访问特定文件夹,但 TypeKeys 方法什么都不做。只有 SendKeys 似乎有效,但它不输入空格。这是我的代码

import pywinauto.keyboard
import pywinauto
import pywinauto.mouse

def inputfileinuploader(filename):
    pwa_app = pywinauto.Application().connect(path="C:\Windows/explorer.exe")
    w_handle = pywinauto.findwindows.find_windows(title=u'Open', class_name='#32770')[0]
    window = pwa_app.window(handle=w_handle)
    ctrl = window['Breadcrumb Parent']
    ctrl.TypeKeys("folder")
    pywinauto.keyboard.SendKeys(u"You Can Make A Difference 1.mp3")

方法type_keys 在键入之前设置焦点。所以问题可能出在错误的控制重点上。如果您确定光标位于正确的位置(例如,通过 ctrl.click_input()ctrl.draw_outline()),但如果您怀疑 type_keys 设置的焦点不正确,一种可能的解决方法是

ctrl.type_keys("folder", with_spaces=True, set_foreground=False)

相同的参数适用于 SendKeysset_foreground 除外)。