selenium+python之windows弹框处理(AutoIt)
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为文件名和文件路径WinWait("打开")WinActivate("打开")WinWaitActive("打开")Send($cmdline)ControlClick("打开","",1) 然后将该文件转换成openfile.exe后,再在python+selenium中进行调用如下操作:import syspypath=sys.pathloadfile=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) 然后将该文件转换成enterkey.exe后,再在python+selenium中进行调用如下操作:pypath = sys.path
keyvalue="{Enter}"
keyvar = pypath + "\enterkey.exe" +keyvalue
页:
[1]