selenium实现文件上传
来源:互联网 发布:windows old有什么用 编辑:程序博客网 时间:2024/05/17 13:39
一、直接利用selenium实现
当上传的标签使用的是input,type=“file”时,直接使用selenium的api就可以处理上传操作(使用元素对象的sendKeys()方法);同时当input type='file' 加了样式被“美化”没了,直接sendkey不行的时候,在sendkeys之前,用javascript把它给弄出来:
下面是用selenium的api操作上传
二、利用autoit工具实现
有的控件不是使用input标签标记的,这个时候利用selenium自带的api就没有办法实现上传操作了,这个时候我们可以考虑使用autoit这个工具来帮助我们实现上传功能,先介绍一下,什么是autoit,它是使用类似BASIC脚本语言的免费软件,可以用于对windows GUI进行自动化操作和脚本的编写。它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务。
1、autoit的下载和安装
- 下载并安装AutoIT,下载链接:https://www.autoitscript.com/site/autoit/
- AutoIT安装成功后,可以在开始菜单下看到AutoIT的所有工具,如下图所示:
- 其中分为几类,AutoIT Window Info用来识别Windows控件,根据识别的控件信息编写脚本;Complie Script to .exe,用来将利用AutoIt编写的脚本,编译成可执行文件;Run Script 用来执行AutoIT的脚本信息;SciTE Script Editor用来编写AutoIt脚本。
- 接下来就是利用以上四种工具,来编写AutoIT脚本,然后编译成可执行文件
2、AutoIt Window Info 的使用
1.打开Auto window Info工具,该工具中主要使用“Finder Tool”功能用于选择需要识别的控件,然后控件的相关信息会显示在显示区。
2.打开QQ=》头像设置=》上传照片=》弹出windows窗口
3、SciTE Script Editor 使用
根据以上所识别的空间信息,利用此编辑器,利用此软件根据AutoIT的语法编写脚本。
附实现文件上传需要的几个方法:
ControlFocus ( "窗口标题", "窗口文本", 控件ID) 设置输入焦点到指定窗口的某个控件上
WinWait ( "窗口标题" [, "窗口文本" [, 超时时间]] ) 暂停脚本的执行直至指定窗口存在(出现)为止
ControlSetText ( "窗口标题", "窗口文本", 控件ID, "新文本" ) 修改指定控件的文本
Sleep ( 延迟 ) 使脚本暂停指定时间段
ControlClick ( "窗口标题", "窗口文本", 控件ID [, 按钮] [, 点击次数]] ) 向指定控件发送鼠标点击命令
其中,title即AutoIt Window Info识别出的Title字段,controlID即AutoIt Window Info识别出的Class和Instance的拼接,如上图拼接后的结果应为:Button1
开始菜单=》SciTE Script Editor=》编辑=》保存=》f5运行
4、Compile Script to .exe 使用
选择需要转换的script脚本,指定exe文件的输出地址(默认为Script的目录),点击“Convert”按钮完成转换。转换完成之后可以直接双击.exe文件进行运行。
5、.java调用exe文件
5、.java调用exe文件
调用代码如下:
- selenium实现文件上传
- selenium借用AutoIt 实现上传文件
- 【基础6】selenium实现文件上传
- selenium借用AutoIt 实现上传文件
- python+selenium+autoit实现文件上传
- selenium 上传文件
- selenium+Python 上传文件
- selenium 上传文件
- python+selenium 文件上传
- 利用Selenium Webdriver 2.0 实现通过Web上传文件
- 利用Selenium实现图片文件上传的两种方式
- selenium结合autoit3实现文件上传及下载
- 利用Selenium实现文件上传的AutoIt介绍
- selenium-Java实现文件的自动上传功能
- 23、Selenium + Python 实现 UI 自动化测试-文件上传
- selenium+python+au3上传文件
- selenium+python send_keys() 上传文件
- Selenium+autoit+java 上传文件
- express study
- StringUtils中 isNotEmpty 和isNotBlank的区别
- windows study
- es6 study
- Linux编译器GCC
- selenium实现文件上传
- PowerShell Study
- 翻译:使用文本收集器生成快速感应指标
- hdu1540-Tunnel Warfare 线段树区间合并
- 翻译:为普罗米修斯添加Nginx基本认证(Basic Auth)
- MAC显示隐藏文件AppleScript工具
- 深度学习优化器详解:梯度更新规则+缺点+如何选择
- cytoscape study
- Linux下安装及使用mysql