基于python的selenium两种文件上传操作 !

Python非input标签的文件上传操作 Web页面 文件上传 Web页面测试中,经常会遇到文件上传操作,本文主要介绍两种不同情况下上传操作的处理方法。 标签为input 如果是input标签可以直接输入路径的,那么直接调用send_keys输入路径即可。 <input type='file' name='my_file'> xxx.send_keys(file_path) 标签为非input 非input标签的上传,需要... 阅读详情

方法一、input标签上传

   如果是input标签,可以直接输入路径,那么可以直接调用send_keys输入路径,这里不做过多赘述,前文有相关操作方法。

Python资源共享群:626017123

方法二、非input标签上传

  这种上传方式需要借助第三方工具,主要有以下三种情况:

  1.AutoIt 去调用它生成的au3或者exe格式的文件

  2.SendKeys第三方库(目前只支持到2.7版本)

   网址:https://pypi.python.org/pypi/SendKeys/

  3.Python的pywin32库,通过识别对话框句柄来进行操作

  pywin32库的安装因为文件较大,建议使用豆瓣源直接pip安装:

pip install -i https://pypi.douban.com/simple pywin32

  前两种在这里不考虑,只采用第三种方法即可,使用之前可以借助工具winspy来辅助定位,winspy下载地址:https://sourceforge.net/projects/winspyex/

  winspy工具的定位方法采用的是绝对路径定位,即根路径为点击上传按钮后的弹出框的整个窗口页面,一般根据Text文本值和Class属性来定位,如图所示:

 

 

 

 

 

  根路径如图所示,它的Text文本值为“打开”,Class属性值为“#32770”。

 

 

 

 

 

Selenium | 文件上传的两种方式 被测产品中文件上传的功能非常普遍,一般情况下我们需要将准备好的文件放在预定的路径下,然后在自动化测试的脚本中,去预置的路径下获取文件即可。 准确说,这不是Selenium文件上传的两种方式,而是UI自动化中文件上传的两种方式。 通过Selenium上传文件的方式要求UI界面中有可输入文件路径的input输入框,但当被测产品是采用调用本地Windows文件系统窗口的方式进行文件上传时,Selenium就无能为力了,因为这分属于两个完全不同的领域。 Selenium是通过发送js脚本驱动浏览器,而Wind 阅读详情

相关推荐

Python页面自动化文件上传两种方式

Python页面自动化测试之文件上传的两种方式 ——广州_vivi 最近教学过程,学员项目出现测试上传文件无法执行的情况,分析发现学员项目的上传按钮并不是input按钮,导致无法使用直接定位元素方式进行文件的上传。 用百度首页-图片上传搜索进行举例,虽然该按钮也是input按钮,但是该文章也有一定的参考意义。 方法一:适用于input标签 使用selenium定位到元素后,直接sendkeys,输入要上传文件的绝对地址 fromseleniumimportwebdriver...

qq_41510811的博客 3842

Python+selenium 元素操作+时间等待+窗口弹窗+鼠标操作

找到元素后操作。

weixin_41202129的博客 1625

关于Python的Selenium框架全解,一篇完整的说明书

目录 selenium 基础语法 一、 环境配置 1、 安装环境 干货主要有: 2、 配置参数 3、 常用参数搭配 4、 分浏览器启动 二、 基本语法 1、 元素定位 2、 控制浏览器操作 3、 操作元素的方法 3.1 点击和输入 3.2 提交 3.3 其他 4、 鼠标操作 5、 键盘操作 6、 获取断言信息 7、 等待页面加载完成 7.1 显示等待 7.2 隐式等待 8、 页面切换 9、 框处理 9.1 警告框处理 9.2 下拉框选择 9.2.1 Sele

落伍的码农 3851

Selenium基础 — 文件上传&文件下载

这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。添加附件,就是上传文件。绝对路径和相对路径都可以,关键是上传的文件存在。这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。文件上传是web页面上很常见的一个功能,用脚本去实现文件上传很简单。实现下载文件功能,只需要配置一下浏览器的参数即可实现。2.是否提示安全警告。

测试-八戒 5052

MATLAB 论文复现——面向紧急需求响应的规模化灵活资源负荷管理快速决策方法

其次,对灵活资源参与EDR的功率分配模型进行了建模,并提出了基于分层分布式共识算法的快速决策方法,对功率分配模型进行快速求解,以满足EDR实时性的需求,在保证较高精度的前提下提高了决策速度。[1]孔祥玉,杨至端,孙裕策,等.面向紧急需求响应的规模化灵活资源负荷管理快速决策方法[J/OL].电力系统自动化,1-13[2024-07-29].http://kns.cnki.net/kcms/detail/32.1180.TP.20240709.1843.002.html.关键词: 规模化灵活资源;

sjr1478的博客 374

PHP 对接建行生活订单推送接口

php对接建行订单推送

qq_43647026的博客 561

转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\‘,\“,\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;

转义序列字符(\0,\n,\r,\t,\v,\a,\f,\b,\\,\',\",\?)详解,转义字符对应的全称,输出结果和对应的ASCII码值详解;

南城花开过的博客 3万+

Snort源代码编译 _ 采坑之旅(for Windows VS2015)

    系统环境:Windows7 sp1 x64     编译环境:VS2015 SP1     Snort版本:2.9.12     daq版本:2.0.6     Snort官网:https://www.snort.org/downloads#snort-downloads 背景     最近需要实现一个类似网络防火墙的产品,主要参考Snort源码,先花了点时间简单读了下网上比较流行的《...

magictong的专栏 8888

5个企业级SOC平台横向对比:IBM QRadar vs Splunk vs 奇安信NGSOC

本文深度对比了IBM QRadar、Splunk和奇安信NGSOC等五大企业级SOC平台的核心能力,从架构设计、威胁检测、运营效率、成本模型和行业适配度五个维度进行解析。文章特别强调安全运营中心(SOC)在现代企业中的关键作用,并提供了实战数据和优化建议,帮助企业选择最适合自身需求的SOC解决方案。

a1b2c的博客 663

自动驾驶仿真:python和carsim联合仿真案例

carsim内部有许多相关联合仿真的demo,simulink、labview等等都有涉及,这里简单介绍下python和carsim联合仿真的方法,虽然carsim官方有个Steer_Control.py相关的案例,但是感觉比较冗余,这里抽出重点部分和大家交流探讨下。提示:以下是本篇文章正文内容,下面案例可供参考1、这里关于solvers的细节其实都没说,因为里面确实也没什么内容好讲的,本质就是调用carsim.dll,如果你需要更多的函数解析其实可以看vs_api.h,路径在,具体内容如下图所示。

zataji的博客 9062

4、同轴3 - RRR球面并联机构运动分析与自主移动农业水果采摘机器人设计

本文研究了同轴3-RRR球面并联机构的运动学与速度分析,采用几何与数值方法进行位置分析,并利用螺旋理论简化雅可比矩阵的推导,通过ADAMS仿真验证了结果的准确性。同时提出一种新型自主移动农业水果采摘机器人设计,具备多功能末端执行器、水果软管转移系统和配重式静态稳定性结构,旨在减少采摘损伤、提升效率。文章还探讨了该机构在机器人控制与仿真中的应用潜力,以及采摘机器人在智能化升级与多机协作方面的发展方向。

y4z5a6b7的博客 246

Oracle EBS R12 AR 标准发票 核心表结构

​ Oracle EBS R12 AR 标准发票 核心表结构 聚焦手动标准发票 (Standard Invoice),按头→行→分配→税→收款计划→会计分录→历史分层,标注主键、外键、关键字段、业务含义,同时说明表间关联关系,适配开发 / 运维 / 数据核对场景。 一、主数据层(发票头 + 行,核心业务表) 1. RA_CUSTOMER_TRX_ALL 【发票头表】 作用:存储整张发票头部信息,一张发票对应一条记录,AR 发票主表。 主键:CUSTOMER_TRX_ID (唯一 ID,系统内部键) 业

金牌架构师 282

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

上一篇: Python Code Examples Python代码示例!
下一篇: Python爬虫经典案例详解:爬取豆瓣电影top250写入Excel表格!
普通网友
博客等级 码龄7年 438粉丝 263原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值