【发布时间】:2014-01-20 14:11:46
【问题描述】:
我有一个 python 脚本,它尝试将文件从我的 PC 上传到 Web 应用程序。 我通过 WebDriver 按浏览器中的特定上传按钮,然后打开一个 Win7 资源管理器窗口供我导航并选择要上传的所需文件。 如何使用 pywinauto 操作此窗口?
可选:这也可以在 linux 中完成(我想使用适当的库)吗?
这是我的示例代码:
wd.find_element_by_css_selector("img.editLecturesButtons.fromVideo").click()
#switch to the lightbox
wd.switch_to_frame(int("1"))
#hit upload
wd.find_element_by_xpath("//*[@id='fileUpload']").click()
#TODO
import os,pywinauto.application
file = os.path.normpath("C:\Users\me\Desktop\image.jpg")
....
【问题讨论】:
-
大多数 Webdriver 用户发现将顺序更改为“将文件路径发送到输入元素”然后“单击上传/提交按钮”。你试过这个吗?它可以使事情变得更容易,因为它很难与文件上传管理器交互。
-
我已经阅读过这个解决方案,但我认为它不适用于我。在 Web 应用程序中,我按下一个按钮并出现一个灯箱。该应用程序使用 Filepicker API 来上传和转换文件。我为特定按钮找到的 html 如下: