在编写自动化脚本的时候,有时会需要上传本地文件,可以尝试使用AutoIt来解决问题。(仅限Windows端)

在官网下载并安装AutoIt后,借助AutoIt Window Info可以非常方便的创建一个脚本来进行相关操作。

编辑AutoIt脚本

  1. 打开AutoIt Window Info,将Finder Tool拖动到文件名输入框处,就能看到Title=‘打开’,Class=‘Edit’,Instance=‘1’ :

  2. 打开SciTE Script Editor,开始输入脚本。首先要将焦点集中在控件上:

ControlFocus("打开", "", "Edit1")
#ControlFocus("title", "text", controlID)
  1. 在实践的过程中,经常会发生selenium打开了文件选择器后尝试运行AutoIt脚本,但由于电脑性能的问题,输入框在短时间内不能输入文字。为了避免此类问题,可以在第二个步骤让AutoIt脚本等待几秒钟:
WinWait("[CLASS:#32770]", "", 10)
#WinWait("title", "text", time)
  1. 之后就可以输入需要上传的文件地址了:
ControlSetText("打开", "", "Edit1", "D:\待上传文件.docx")
#ControlSetText("title", "text", controlID, "待上传的文件")
  1. 最后,点击打开按钮,就完成了文件的选择和上传:
ControlClick("打开", "", "Button1")
#ControlClick("title", "text", controlID)
  1. 完成了脚本的编辑后,将其保存。保存后的脚本并不能直接使用,需要先将其编译。右键点击生成的au3文件,选择Compile Script,即可生成exe文件。

在Selenium中运行exe

  1. 导入os库:
import os
  1. 只要在点击上传文件的操作之后,运行刚才编写的exe即可。在实践中,打开文件选择器可能会因电脑性能不能立即打开,因此,为了避免出错,可以在运行exe之前,先等待几秒:
sleep(3)
os.system(os.getcwd() + '文件名.exe')

以上就是上传文件的脚本编写方式。

Python Selenium 疑难杂症解方(四):上传文件相关推荐

  1. Python+Selenium学习笔记10 - send_keys上传文件

    在火狐浏览器上传文件 上传前,同一个HTML文件在火狐和Edge浏览器显示有些不同 这是Firefox浏览器的显示 这是Edge浏览器 上传后 1 # coding = utf-8 2 3 from ...

  2. python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv)

    python 全栈开发,Day86(上传文件,上传头像,CBV,python读写Excel,虚拟环境virtualenv) 一.上传文件 上传一个图片 使用input type="file& ...

  3. Selenium+java - 借助autolt完成上传文件操作

    写在前面: 上传文件是每个自动化测试同学会遇到,而且可以说是面试必考的问题,标准控件我们一般用sendkeys()就能完成上传,但是我们的测试网站的上传控件一般为自己封装的,用传统的上传已经不好用了, ...

  4. python socketserver实现服务器端执行命令 上传文件 断点续传

    1 基于socketserver在服务器端实现执行cmd命令和上传文件(断点续传) 2 3 #server: 4 5 #!/usr/bin/env python 6 # -*- coding:utf- ...

  5. springboot调用python脚本_Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法...

    记录瞬间 近段时间使用Springboot实现了文件的上传服务,但是在使用python的requests进行post上传时,总是报错. 比如: 1.Current request is not a m ...

  6. python的requests库发送携带上传文件的接口_python requests 库请求带有文件参数的接口实例...

    python requests 库请求带有文件参数的接口实例 有些接口参数是一个文件格式,比如fiddler 抓包参数如下显示 这个接口的 form-data fiddler 显示的和不带文件参数的接 ...

  7. 手机如何看python文件大小_如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?)...

    如何安全地检查上传文件的大小?(How to check size of uploaded file safely in bottlepy?) 我真的害怕read()操作,因为它使用内存. 例如,任何 ...

  8. python + selenium +win32gui + winspy 实现图片上传

    过程:模拟点击上传按钮,打开Windows对话框,编辑栏输入文件路径(或网址)点击确定.网上随便找了一个进行测试. 点击后出现Windows上传对话框 用 winspy 来检测窗口的句柄 python ...

  9. python+selenuim自动化测试(六)上传文件

    from selenium import webdriverfrom time import sleep driver=webdriver.Firefox() driver.get("htt ...

  10. python selenium 实现在火狐浏览器上下载文件(涉及firefox下载文件相关的配置)

    在这个案例中最重要也是我花了主要精力解决的问题就是火狐浏览器下载文件时会自动弹出下载弹框的这个问题. 解决这个问题可以参照以下步骤(本次案例中要下载的文件格式为dotx文件,如果有其他格式的文件要修改 ...

最新文章

  1. 三层交换机环境的上网行为管理方案
  2. (0063)iOS开发之SVN server的搭建
  3. 如何修改git已提交记录的邮箱?
  4. PAT甲级1136 A Delayed Palindrome :[C++题解]回文串和高精度并输出过程
  5. in use 大学英语4word_2015年7月中国医科大学《大学英语4》在线作业答案
  6. Ticket 服务: 一种经济的分布式唯一主键生成方案
  7. Android中通过数组资源文件xml与适配器两种方式给ListView列表视图设置数据源
  8. 06一键直达:一键整理、秒搜、秒开任何文件、软件、网址
  9. G6 图可视化引擎——快速上手
  10. how to find the original page containing a given image
  11. wget下载一个目录下的文件
  12. db2关闭下一句sql的日志_MySQL查询优化(3)-慢查询开启、日志分析
  13. 切割图形_激光切割机氧气切碳钢板过烧怎么解决?这几点一定要注意!
  14. python实现K近邻算法
  15. photoshop cs3 调色教程 让夏天成秋天
  16. 2、杂项:Bootloader升级方式---擦、写flash在RAM中运行
  17. 国外5G行业应用产业政策分析及对我国的启示
  18. 基于微信图书馆教室座位预约小程序系统设计与实现 开题报告
  19. 前端页面field_前端组件
  20. 32位微型计算机能不能安装64位操作系统,32位cpu能装64位系统吗|32位cpu可以装64位系统吗...

热门文章

  1. 第十六届“振兴杯”计算机网络管理员赛项理论参考题库(2)多选
  2. 数据结构基础知识(一)
  3. linux用 弹出光驱 cdromeject_sw,Linux_Linux系统下光驱软开关与限速,一、光驱的软开关:eject -r cdro - phpStudy...
  4. 李春葆《数据结构》第五版
  5. linux服务器通过代理连接网络
  6. 作为面试官准备提问的问题及其答案
  7. Win7下安装swoole具体步骤
  8. 我的网名--荡涤心灵
  9. The way的用法
  10. 2023届计算机保研面试基础专业问题(数据结构、算法、计算机语言、计算机网络、数据库、操作系统、数学)