使用WebDriver&amp ;;上传文件PyWinAuto

时间:2014-01-20 14:11:47

标签: python selenium pywinauto

我有一个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")
....

1 个答案:

答案 0 :(得分:0)

我同意Mark,你应该尝试使用Webdriver方法。关于pywinauto,代码可能看起来像:

import pywinauto

pwa_app = pywinauto.application.Application()
w_handle = pywinauto.findwindows.find_windows(title=u'Open', class_name='#32770')[0]
window = pwa_app.window_(handle=w_handle)
ctrl = window['Name']
ctrl.SetText(file)
ctrl = window['OK']
ctrl.Click()

此解决方案仅适用于Windows,因为pywinauto使用win32 api。