首页 > Windows开发 > 详细

selenium操作win窗口

时间:2015-09-01 19:42:53      阅读:944      评论:0      收藏:0      [点我收藏+]

 

最近测试的项目中涉及到上传文件的功能,自动化脚本中需要使用python win32模块来操控,记录下使用心得吧!

1.首先引入python win32gui模块

import win32gui

2.安装spyxx.exe,用于定位win窗口

准备工作做好了,开工吧

3.点击类似“上传”等按钮后会弹出win窗口,那就先定位它吧,如下

技术分享

 

定位代码如下:

uploadwindowname = u‘打开‘ #CHROME窗口名称是打开
uploadwindow = win32gui.FindWindow(‘#32770‘, uploadwindowname)#定位“文件上传 窗口
print uploadwindow 

最后输出,如果输出0说明定位失败了

parent=win32gui.FindWindowEx(uploadwindow,None,‘ComboBoxEx32‘,None)
Combobox_real=win32gui.FindWindowEx(parent,None,‘ComboBox‘,None)
Edit_box=win32gui.FindWindowEx(Combobox_real,None,‘Edit‘,None)

这段代码是先定位到最上层的父窗口,再逐层定位到输入框(chrome于FF有所不同,FF下可以直接定位)

 

win32gui.SetForegroundWindow(Edit_box)
time.sleep(1)
win32gui.SendMessage(Edit_box,win32con.WM_SETTEXT,None,r‘C:\Users\gmsd12\Desktop\BLAT_blacklist.xls‘)
openbuttonname = u‘打开(&O)‘
time.sleep(1)
openbutton = win32gui.FindWindowEx(uploadwindow, None,"Button",openbuttonname)#定位“保存”按钮
print openbutton
win32gui.PostMessage(openbutton, win32con.WM_LBUTTONDOWN, win32con.MK_LBUTTON, 0)
win32gui.PostMessage(openbutton, win32con.WM_LBUTTONUP, win32con.MK_LBUTTON, 0)

这段代码是把输入框置顶,否则无法输入,输入文件路径后,定位到打开按钮,保存按钮,最后回车键按下再松开。

至此完成了上传文件时操作win窗口,其中FF下和Chrome下窗口名称有所不同(当时还被折磨了好久才发现(⊙﹏⊙)),IE的暂时没有试过。

selenium操作win窗口

原文:http://www.cnblogs.com/songdefei/p/4776529.html

(0)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!