【发布时间】:2019-02-04 18:03:12
【问题描述】:
我正在尝试将文件上传到网站,当我单击上传按钮(使用 WebBot 模块)时,它会打开 Windows 资源管理器。我可以将文件名输出到文件名字段吗?我有文件的完整路径,我只需要将实际文本放入文件名框中。
【问题讨论】:
标签: python python-3.x windows-explorer webbot
我正在尝试将文件上传到网站,当我单击上传按钮(使用 WebBot 模块)时,它会打开 Windows 资源管理器。我可以将文件名输出到文件名字段吗?我有文件的完整路径,我只需要将实际文本放入文件名框中。
【问题讨论】:
标签: python python-3.x windows-explorer webbot
我会在这里考虑两种方法:
使用专门用于与 Windows GUI 交互的 python 库。我曾经对Pywinauto 有过很好的体验,乍一看似乎仍然很实用。当您希望资源管理器窗口打开时,将其挂钩。代码在概念上可能看起来像这样 - 进行一些测试运行并从上传对话框打印所有可用的句柄(只是在这里猜测作为提示,请参阅 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()
检查您是否可以简单地使用相应的数据执行 POST 或类似操作。这是一个非常模糊的选择,因为您没有提供关于上传什么以及网站的底层后端/概念是什么的信息,但在最简单的情况下,这甚至可能是一个更优雅的选择。快速搜索找到了这个简短的示例:https://stackoverflow.com/a/43942648/10192615
【讨论】: