selenum autoit上传图片

2020-01-17 14:21:05 浏览数 (1)

目前,一般实现文件图片上传的方式都是有一个按钮,点击之后直接调用操作系统自身的弹框,选择文件后,实现上传。因为Selenium不支持调用操作系统的操作,所以这种情况下,利用Selenium无法完成图片上传,这时,我们可以选择autoit实现。

autoit可以操控控件

下载地址 :https://www.autoitscript.com/site/autoit/downloads/

实现文件上传需要的几个方法:

  ControlFocus ( "窗口标题", "窗口文本", 控件ID)   设置输入焦点到指定窗口的某个控件上

  WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] )  暂停脚本的执行直至指定窗口存在(出现)为止

  ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" )   修改指定控件的文本

  Sleep ( 延迟 )   使脚本暂停指定时间段

ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] )   向指定控件发送鼠标点击命令

代码语言:javascript复制
ControlEnable("文件上传","","Edit1")

WinWait("[CLASS:#32770]","",10)

ControlSetText("文件上传","","Edit1",$CmdLine[1]) #$CmdLine[0] ;参数的数量 $CmdLine[1]第一个参数 (脚本名称后面) $CmdLine[2] ;第二个参数
代码语言:javascript复制
Sleep(2000) 

ControlClick("文件上传","","Button1") 

Sleep(2000)

这样保持起来,然后使用 Compile Script to .exe 打包成exe文件使用python调用:

代码语言:javascript复制
    for i,zzz in enumerate(lists):
        os.system(r'E:hello_data31.exe %s'%zzz)

0 人点赞