温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2020-08-01 04:39:26 阅读:3359 作者:平山 栏目:编程语言
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

前言

Web UI自动化测试中可能会遇到文件上传的场景,针对该场景主要有两种解决思路:如果是<input type="file">元素,可优先尝试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。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×