如何在 Windows 资源管理器中的文本字段中输入内容?

How to type into a text field in Windows Explorer?

我正在尝试将文件上传到网站,当我单击上传按钮(使用 WebBot 模块)时,它会打开 Windows 资源管理器。我可以将文件名输出到文件名字段吗?我有文件的完整路径,我只需要将实际文本输入文件名框中。

我会考虑两种方法:

  1. 使用专门用于与 Windows GUI 交互的 python 库。我有过一次 Pywinauto 的好经验,乍一看似乎仍然很好用。当您希望资源管理器 window 打开时,将其挂钩。代码在概念上可能看起来像这样 - 做一些测试 运行 并从上传对话框中打印所有可用的句柄(这里只是猜测作为提示,请参阅 Pywindocs):

    app = Application().connect(title_re=".*Upload file", path=r"c:\windows\explorer.exe") dlg = app.window(title_re=".*Upload file", path=r"c:\windows\explorer.exe") app.dlg.print_control_identifiers()

  2. 检查您是否可以简单地对相应数据执行 POST 或类似操作。这是一个非常模糊的替代方案,因为您不提供有关上传什么以及网站的基础 backend/concept 是什么的信息,但在最简单的情况下,这甚至可能是一个更优雅的选择。快速搜索为此提出了这个简短的示例: