文件的上传:主要是两种实现方法:

  • 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之文件的上传的更多相关文章

  1. 『心善渊』Selenium3.0基础 — 19、使用Selenium操作文件的上传和下载

    目录 1.Selenium实现文件上传 (1)页面中的文件上传说明 (2)文件上传示例 (3)总结 2.Selenium实现文件下载 (1)Firefox浏览器文件下载 1)操作步骤: 2)文件下载示 ...

  2. 转 虫师的selenium借助AutoIt识别上传(下载)详解

    selenium借助AutoIt识别上传(下载)详解 2014-12-27 11:26 by 虫师, 755 阅读, 1 评论, 收藏,  编辑 AutoIt目前最新是v3版本,这是一个使用类似BAS ...

  3. 带进度条的文件批量上传插件uploadify

    有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...

  4. C# 用原生JS进行文件的上传

    1.此文章是用原生JS来进行文件的上传,有两个版本,一个不用ajax,一个用ajax. 1)非AJAX <!DOCTYPE html> <html> <head> ...

  5. ssh整合问题总结--在添加商品模块实现图片(文件)的上传

    今天在做毕设(基于SSH的网上商城项目)中碰到了一个文件上传的需求,就是在后台管理员的商品模块中,有一个添加商品,需要将磁盘上的图片上传到tomcat保存图片的指定目录中: 完成这个功能需要两个步,第 ...

  6. 文件的上传(如何兼容火狐与IE)与国际化的原理

    1.文件的上传     [1] 简介         > 将本地的文件上传到服务器中         > 用户需要通过一个表单将文件上传到服务器中       [2] 表单的设置     ...

  7. java实现ftp文件的上传与下载

    最近在做ftp文件的上传与下载,基于此,整理了一下资料.本来想采用java自带的方法,可是看了一下jdk1.6与1.7的实现方法有点区别,于是采用了Apache下的框架实现的... 1.首先引用3个包 ...

  8. 在SpringMVC框架下实现文件的 上传和 下载

    在eclipse中的javaEE环境下:导入必要的架包 web.xml的配置文件: <?xml version="1.0" encoding="UTF-8" ...

  9. .Net多文件同时上传(Jquery Uploadify)

    前提:领导给了我一个文件夹,里面有4000千多张产品图片,每张图片已产品编号+产品名称命名,要求是让我把4000多张产品图片上传到服务器端,而且要以产品编码创建n个文件夹,每张图片放到对应的文件夹下. ...

  10. mac下svn问题——“.a”(静态库)文件无法上传解决

    mac下svn问题——“.a”(静态库)文件无法上传解决    “.a”(静态库)文件无法上传(svn工具:Versions)          网上查询了一下,说是Xcode自带的svn和Versi ...

随机推荐

  1. a标签做锚点定位,有部分内容被置顶头部遮挡的解决方法

    被遮挡的元素添加如下样式: /**这里假定头部高度是100px*/ position: relative;top: 100px;/**关键样式如下,我这里上面有加定位,如果没用定位,下面的数值需根据实 ...

  2. scala的运算符

    1.算数运算符 与java基本一样,只有个别细节不一样 (1).除法的区别:整数/整数 结果为整数(小数部分直接舍掉了):小数/整数 结果为小数: 例如:val result = 10.0 / 3 p ...

  3. js 导出excle文件(多页)

      --前提:页面生成相应的表格数据    例如: <table id="a"> <tr> <th></th> </tr> ...

  4. MySql 错误:建表时出错1067 - Invalid default value for 'id'

    问题描述: 建表时报错无效的默认值: CREATE TABLE `product`( `id` INT(10) NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT ...

  5. Java的流程控制

    Scanner对象 next(); 一定要读取到有效字符后才可以结束输入. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉(). 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束 ...

  6. flink 启动job命令

    0. 启动flink-session ./bin/yarn-session.sh -n 4 -s 3 -jm 2048 -tm 6144 高版本 bin/yarn-session.sh -d -s 3 ...

  7. MMDetection中模型的Checkpoints下载

    mmdetection中的模型checkpoints是需要自己手动下载的,下载步骤如下: 打开mmdetection, 进入configs目录,可以看到这里面有很多以目标检测模型命名的文件夹,选择你想 ...

  8. ubuntu通过ftp向小米手机传输多个文件

    输入ftp命令,连接手机 root@wanboo-Inspiron-5570:~# ftp 192.168.1.104 2121 Connected to 192.168.1.104. 220 Swi ...

  9. IT工具知识-10:Markdown小技巧(不断更新)

    Markdown小技巧 1. 如何实现在文内不同关键字间跳转 该技巧是基于typora软件下使用的,参考的这个教程:视频链接 该教程有两种跳转方式:一.使用Markdown语法,二.使用HTML的锚点 ...

  10. idea乱码

    第一步:修改intellij idea配置文件: 找到intellij idea安装目录,bin文件夹下面idea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别 ...