网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

pythonselenium系列(10)实战技巧之文件上传

一前言

成都创新互联公司-成都网站建设公司,专注成都网站建设、成都做网站、网站营销推广,域名注册虚拟主机,网站改版维护有关企业网站制作方案、改版、费用等问题,请联系成都创新互联公司

在Web UI自动化测试中可能会遇到文件上传的场景,针对该场景主要有两种解决思路:如果是元素,可优先尝试send_keys() 输入文件路径;如果实际情况必须要处理windows文件选择框,则可尝试借助AutoIt实现。

 

二处理方法

假设现在我们有如下一个页面,需要进行文件上传操作:

 python selenium系列(10)实战技巧之文件上传

 

手工进行文件上传的步骤为:点击【选择文件】->弹出windows文件选择框->选择文件->点击【开始上传】按钮。

 

分析页面源码,如下:

 python selenium系列(10)实战技巧之文件上传

从页面源码可知,【选择文件】是input标签的元素,且type=‘file’。因此,可以尝试先定位到该元素,然后执行send_keys方法传入文件路径,实现代码如下:

 

browser = webdriver.Chrome()
file_path = r'E:\Python培训计划\selenium自动化测试\上传测试.xlsx'

# 注意file_path使用绝对路径:unknown error: path is not absolute
# 使用send_keys方法模拟打开windows弹框选择上传文件的过程
browser.find_element(By.XPATH,'//*[@id="uploadify_excel-upload_1"]').send_keys(file_path) 

#点击【开始上传】按钮
browser.find_element(By.ID,'startUpload').click() #上传文件到服务器

 

三总结

本文主要介绍文件上传的处理方法,调用send_keys方法传入文件路径即可,无需模拟弹出windows选择框且选择文件的过程。通过该方法可以简单、高效的实现选择文件的目的,避免将处理思路卡在如何选择文件这个问题上。


四 其他资源

关于python学习、分享、交流,笔者开通了微信公众号【小蟒社区】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学python。


网页题目:pythonselenium系列(10)实战技巧之文件上传
标题网址:http://bjjierui.cn/article/jpidcd.html

其他资讯