|
1.背景
采用selenium+python进行了基础功能页面的冒烟操作,基本的操作方式未通过页面元素的识别点击、输入、数据获取判断等实现,在操作过程中通过web页面对象进行操作,但实际的使用过程中会出现非web窗口对象的其他windows窗口操作,以下就操作过程中遇到的处理方式进行总结。
2.selenium+python之windows弹框处理(AutoIt)
1)环境部署说明
针对上述背景中提及的情况,可以通过autoit进行windows操作,安装autoit3软件,之后通过autoit软件进行界面操作,再将实现文件转换成exe文件,在python+selenium中通过命令行传参调用。
2)BAP的业务模块上载的windows窗口操作
当进行业务模块上载操作选择文件操作时会打开文件选择框,该窗口为windows窗口,原先的python+selenium无法识别到该窗口,就要通过autoit进行窗口识别操作。
Autoit文件如下:
#上载文件打开操作
#输入参数 cmdline[1]为文件名和文件路径
WinWait("打开")
WinActivate("打开")
WinWaitActive("打开")
Send($cmdline[1])
ControlClick("打开","",1)
然后将该文件转换成openfile.exe后,再在python+selenium中进行调用如下操作:
import sys
pypath=sys.path[0]
loadfile=ec_modulefile_path_list[i]
loadfilevar=pypath+"\openfile.exe"+" "+loadfile
3)BAP业务模块生成、打包的windows弹框操作
BAP生成、打包操作时候,会弹出windows窗口,如下图所示:
这种窗口无法实现脚本继续操作,通过确认知道该windows窗口支持键盘操作,但python+selenium的键盘操作需要获取指定的页面驱动,该弹出的windows窗口无对应页面驱动,此时也想到通过autoit来实现,具体如下:
AutoIT文件实现如下:
#输入键盘操作
Send($cmdline[1])
然后将该文件转换成enterkey.exe后,再在python+selenium中进行调用如下操作:
pypath = sys.path[0]
keyvalue="{Enter}"
keyvar = pypath + "\enterkey.exe " +keyvalue |
|