在利用Selenium进行Web自动化测试,遇到如下的Windows窗口进行上传、下载操作时,可以通过pywinauto进行操作。上传窗口如下:
使用pywinauto,需知Windows窗口控件的class,方可对其进行操作,通过Microsoft Spy++,即可获取控件的class,如下图:
示例代码如下:
from pywinauto import application # 使用pywinauto进行上传操作 app = application.Application() window = app.window_(class_name = "#32770") # 文件所在路径不能含有空格 window["Edit"].TypeKeys(r"C: est.jpg") window["ScrollBar"].Click() window[u"打开(O)"].Click()
下载操作同理。
注:在实际操作过程中,当输入图片所在路径时,弹出窗口可能会出现失去焦点,导致点击打开按钮无效的情况,此时可以通过点击Windows弹出页面的某一控件使页面重新获得焦点,如点击滚动条。