《selenium2 python 自动化测试实战》(13)——上传文件

看代码:

# coding: utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Firefox()
driver.get("https://www.cnblogs.com")
driver.add_cookie({'name': '.CNBlogsCookie',
                  'value': 'F956F323DFA5C31BE489C0730C7D891',
                  'domain': '.cnblogs.com'})
driver.add_cookie({'name': '.Cnblogs.AspNetCore.Cookies',
                  'value': 'CfDJ8NJxdyN1379Ivw',
                  'domain': '.cnblogs.com'})
sleep(2)
driver.refresh()

driver.find_element_by_xpath(".//*[@id='span_userinfo']/a[1]").click()
sleep(3)
driver.find_element_by_xpath(".//*[@id='avatar_opt_nav']/li[1]/a").click()
sleep(2)
# 文件的路径
file = r"C:\Users\DELL\Desktop\ldh.jpg"
# 上传文件
driver.find_element_by_xpath(".//*[@id='jquery-wrapped-fine-uploader']/div/div/input").send_keys(file)
sleep(3)
driver.find_element_by_xpath(".//*[@id='crop_operation_submit']").click()

代码显示通过cookie登录博客园,然后点击用户名,再点击修改头像,进入到头像上传页面,通过F12可以看到“上传头像图片”是一个input标签,如下图:

此时,我们只需要先定位该按钮(标签),然后直接用send_keys()方法,传的参数就是你要上传头像的地址:

driver.find_element_by_xpath("xpath").send_keys(file_path)

然后等待几秒,上传成功以后才会有“剪切并保存”按钮出现。

重点是要知道怎么上传文件——就那么一句话,仅此而已。

以上代码除了cookie不对,其他的都是可以复制过去就用的。

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2017-12-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ionic3+

ionic cordova resources问题说明

ionic cordova resources是用于一键打包生成各分辨率icon和splash的命令,在使用过程中可能会遇到以下问题:

14320
来自专栏静下来

设置wordpress文章标题在新标签打开

这个问题我也是今天才发现,我这个网站的标题是在当前页面打开的。 我个人是一直不喜欢这种打开方式的,不管是我自己的网站,还是别人的某些网站。 我觉得这样,有时...

41040
来自专栏前端开发

PWA介绍及快速上手搭建一个PWA应用

一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。

497130
来自专栏电光石火

推荐几款比较好看HTML admin后台模板

H+是一个完全响应式,基于Bootstrap3.3.6最新版本开发的扁平化主题,她采用了主流的左右两栏式布局,使用了Html5+CSS3等现代技术,她提供了...

7K10
来自专栏陈纪庚

微信小程序bug记录与解决

第一张图是在开发工具上的,第二张图是在IOS真机上的。从上图可以看出来,在开发工具上显示很正常,而且没有padding,可是在真机上左上角就出现了paddi...

31020
来自专栏企鹅号快讯

Vue2的单元测试与调试技术

测试是一个非常美妙的世界,一旦进入根本停不下来~在Java中,我们可以使用JUnit做单元测试,但在前端开发中,想做单元测试并不是一件特别容易的事情,但如果你采...

239100
来自专栏FreeBuf

CIA机密文档追踪工具Scribbles详细分析

2017年4月28日,维基解密发布了CIA“涂鸦”(Scribbles)项目的文档和源代码(参考地址1)。这是一个文档预处理系统,用于给涉密文档打上“Web b...

30770
来自专栏建站达人秀

如何搭建 WordPress 博客

WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管...

1.3K40
来自专栏大魏分享(微信公众号:david-share)

VMware软件定义数据中心分析工具介绍----第二篇

在本文连载的第一篇中,我向大家介绍了vROps的架构、vROps的指标含义,以及如何自定义一个告警。该文章得到了VMware中国的转发,也使更多的朋友能够阅读到...

39580
来自专栏dotnet & java

5-15 bootcss 之 modal 以及 jquery ui 之datepicker 小记

  最近公司在用bootstrap和Jquery UI做项目,类似与OA的东西前两天碰到点问题,记录一下。希望读者不要在遇到和我一样的问题。

12650

扫码关注云+社区

领取腾讯云代金券