selenium之文件的上传
文件的上传:主要是两种实现方法:
- 1.如果定位的元素是type类型是file类型的话,那么直接定位元素并使用send_keys方法完成文件上传
- 2.如果是非file类型的话,则需要使用第三方工具完成文件的上传(AutoIT);
- AutoIT:AutoIT工具是一款免费的类似basic脚本语言开发的,可以实现window窗口的自动化测试;它还可以实现相关事件的组合操作(鼠标、键盘、window控制窗口等)并兼容其他语言(VB)完成相应的操作;是一款小巧灵活的工具并实现windows多版本兼容;
- 完成选择文件的步骤:
- a.获取文件上传所弹出的window对话框
- b.在文件名中输入选择的文件地址
- c.点击打开
- 完成选择文件的步骤:
- 下载的官网:下载AutoIT
-
页面往下找,可以找到下面的点击download
选择第一个 Download Autoit
下载后解压 点击exe可执行文件,默认一件安装即可
-
点击 I Agree
注意选择版本:
默认选择编辑 Edit the script
默认点击下一步完成安装
-
AutoIT的介绍:
AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!
AutoIt was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.
- Easy to learn BASIC-like syntax
- Simulate keystrokes and mouse movements
- Manipulate windows and processes
- Interact with all standard windows controls
- Scripts can be compiled into standalone executables
- Create Graphical User Interfaces (GUIs)
- COM support
- Regular expressions
- Directly call external DLL and Windows API functions
- Scriptable RunAs functions
- Detailed helpfile and large community-based support forums
- Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10
- Unicode and x64 support
- Digitally signed for peace of mind
- Works with Windows Vista’s User Account Control (UAC)
文件使用的步骤
1.打开此工具,完成auto上传文件的编码操作
2.使用此工具,完成元素的定位操作
64位的操作系统就选择64位的操作系统
3.参照工具的编程语言的api文档,编写脚本
实例:
4.编写好的demo脚本(可以参考,但是不同浏览器打开windows的窗口不一样,因为元素的值不一样,不要无脑copy)
5.保存使用此工具将文件转换成exe
6.使用python的内置os模块调用exe完成文件的上传 嘿嘿嘿
sleep(3)
os.system(r"C:\Users\lry\Desktop\up_load.exe")
sleep(2)
selenium之文件的上传的更多相关文章
- 『心善渊』Selenium3.0基础 — 19、使用Selenium操作文件的上传和下载
目录 1.Selenium实现文件上传 (1)页面中的文件上传说明 (2)文件上传示例 (3)总结 2.Selenium实现文件下载 (1)Firefox浏览器文件下载 1)操作步骤: 2)文件下载示 ...
- 转 虫师的selenium借助AutoIt识别上传(下载)详解
selenium借助AutoIt识别上传(下载)详解 2014-12-27 11:26 by 虫师, 755 阅读, 1 评论, 收藏, 编辑 AutoIt目前最新是v3版本,这是一个使用类似BAS ...
- 带进度条的文件批量上传插件uploadify
有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...
- C# 用原生JS进行文件的上传
1.此文章是用原生JS来进行文件的上传,有两个版本,一个不用ajax,一个用ajax. 1)非AJAX <!DOCTYPE html> <html> <head> ...
- ssh整合问题总结--在添加商品模块实现图片(文件)的上传
今天在做毕设(基于SSH的网上商城项目)中碰到了一个文件上传的需求,就是在后台管理员的商品模块中,有一个添加商品,需要将磁盘上的图片上传到tomcat保存图片的指定目录中: 完成这个功能需要两个步,第 ...
- 文件的上传(如何兼容火狐与IE)与国际化的原理
1.文件的上传 [1] 简介 > 将本地的文件上传到服务器中 > 用户需要通过一个表单将文件上传到服务器中 [2] 表单的设置 ...
- java实现ftp文件的上传与下载
最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...
- 在SpringMVC框架下实现文件的 上传和 下载
在eclipse中的javaEE环境下:导入必要的架包 web.xml的配置文件: <?xml version="1.0" encoding="UTF-8" ...
- .Net多文件同时上传(Jquery Uploadify)
前提:领导给了我一个文件夹,里面有4000千多张产品图片,每张图片已产品编号+产品名称命名,要求是让我把4000多张产品图片上传到服务器端,而且要以产品编码创建n个文件夹,每张图片放到对应的文件夹下. ...
- mac下svn问题——“.a”(静态库)文件无法上传解决
mac下svn问题——“.a”(静态库)文件无法上传解决 “.a”(静态库)文件无法上传(svn工具:Versions) 网上查询了一下,说是Xcode自带的svn和Versi ...
随机推荐
- stream 在 groupingby 之后,对结果数据再进行封装后返回
使用 Collectors.mapping 来指定 分组结果要取哪些数据
- keras构建1D-CNN模型
接触过深度学习的人一定听过keras,为了学习的方便,接下来将要仔细的讲解一下这keras库是如何构建1D-CNN深度学习框架的 from keras.datasets import imdb fro ...
- Jupyter lab 切换kernel
在使用pytorch的时候需要用到pandas这个包,报错说"no module named pandas", 但是我在终端查找了conda 装了pandas,所以不是安装的问题, ...
- image test
png: jpeg: jpg: gif:
- Jmeter五、jmeter中的逻辑控制器
1.simple controller 提供一个块的结构和控制.更方便,更清晰. 嵌套其他的controller 2.loop controller 循环控制器 控制循环次数 可以使用变量 ${__t ...
- 狐漠漠养成日记 Cp.00001 开始养成计划
开始养成计划 今天是我开始这个"狐漠漠养成计划"的第一天(划掉). 看来是昨天出门前忘记保存了,昨天写的几百字内容全都没有了,今天其实已经是计划开始的第二天了. 因为昨天晚上出去喝 ...
- Python+Django(2)——创建应用程序
新打开一个终端窗口,切换到manage.py所在的目录 激活虚拟环境:ll_env\Scripts\activate 命令startapp appname 让Django建立创建应用程序所需的基础设施 ...
- 搭建CosId服务
CosId介绍 CosId 旨在提供通用.灵活.高性能的分布式 ID 生成器.项目中还是很好集成,CosId本身采用spring boot与spring cloud框架,如果项目是这类的微服务框架,那 ...
- 石子合并问题DP
START: 2021-08-10 14:29:04 1.问题描述: 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价 ...
- linux sync命令
Linux sync命令用于数据同步,sync命令是在关闭Linux系统时使用的. Linux 系统中欲写入硬盘的资料有的时候为了效率起见,会写到 filesystem buffer 中,这个 buf ...