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进行窗口识别操作。 file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\ksohtml\wps90C8.tmp.jpg 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
loadfilevar=pypath+"\openfile.exe"+" "+loadfile 3) BAP业务模块生成、打包的windows弹框操作 BAP生成、打包操作时候,会弹出windows窗口,如下图所示: file:///C:\Users\ADMINI~1\AppData\Local\Temp\1\ksohtml\wps90C9.tmp.jpg 这种窗口无法实现脚本继续操作,通过确认知道该windows窗口支持键盘操作,但python+selenium的键盘操作需要获取指定的页面驱动,该弹出的windows窗口无对应页面驱动,此时也想到通过autoit来实现,具体如下: AutoIT文件实现如下: #输入键盘操作 Send($cmdline[1]) 然后将该文件转换成enterkey.exe后,再在python+selenium中进行调用如下操作: pypath = sys.path[0]
keyvalue="{Enter}"
keyvar = pypath + "\enterkey.exe " +keyvalue
|