时间:2021-05-22
环境准备
python3.6
PyCharm 2017.1.3
Windows环境
框架搭建
selenium3.6
安装方法:
pip install selenium
实现步骤:
一、步骤分析
1、选择“账号密码登录”
2、用户名、密码输入,登录
3、文件上传
注:本文主要介绍利用selenium包下的webdriver加载Firefox浏览器。
二、元素捕捉
利用火狐浏览器firebug插件复制控件的XPATH路径,注:Python3.6对应Firefox版本40.x,暂不支持最新版本50.x。
1、点击“账号密码登录”,获取其源文件
效果图如下:
点击右键,复制Xpath路径:/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a
登录按钮和文件上传同上,获取其相应的Xpath路径
代码:
#选择账号密码登录driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a').click()# 登录 driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[5]/input').send_keys('username')driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input').send_keys('password')driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[9]/input').click()2、登录成功后,点击文件上传,弹出文件对话框
“上传”的Xpath路径为://*[@id="h5Input0"]
代码:
#上传driver.find_element_by_xpath('//*[@id="h5Input0"]').click()点击上传按钮,弹出文件对话框
三、AutoIT编写脚本实现上传文件
webdriver无法对文件直接进行操作,所以需要借助AutoIT来实现文件上传
AutoIT下载地址:https://pile script to exe将上述AutoIt脚本编译为exe文件供python脚本调用
6、最后,使用Python脚本调用AutoIT脚本
#点击上传,打开上传文件窗口driver.find_element_by_xpath('/html/body/div[1]/div[2]/div[1]/div[2]/div[2]/div[2]/a[1]/form/input').click()#使用autoit脚本自动上传文件#需要导入python的os库文件: import osos.system("D:/upfile.exe")完整代码如下:
import osfrom selenium import webdriverimport timeclass Connect(): def __init__(self,UserName,PassWord,URL): self.UserName = UserName self.PassWord = PassWord self.URL = URL def connect(self): self.driver = webdriver.Firefox() self.driver.get(self.URL) self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[6]/div[2]/a').click() self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[5]/input').send_keys(self.UserName) self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input').send_keys(self.PassWord) self.driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[9]/input').click() #设置思考时间 time.sleep(30) sreach_window = self.driver.current_window_handle # 此行代码用来定位当前页面 self.driver.find_element_by_xpath('//*[@id="h5Input0"]').click() os.system(r"C:\Users\zg\Desktop\upfile.exe")Connect(UserName,PassWord,URL).upload()以上这篇Python实现对百度云的文件上传(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
大于4G的文件怎么传到百度云?百度云限制4G以上文件上传,必须开通会员。本篇介绍如何不开会员,上传大于4G文件到百度云。软件名称:压缩解压软件WinRARV5.
大家都知道百度云网盘是百度公司推出的一个免费给用户存储文件的服务,那么百度云网盘是怎么进行上传文件的呢?下面小编同学来给大家演示一下:软件名称:百度网盘(百度云
百度云上可以直接编辑文件,无需再次下载上传,下面分享直接直接编辑文件的方法。 1、打开百度网页,搜索百度云进入 2、点击网盘 3、点击左边的文档 4
百度云管家主要用来管理百度云网盘,如果我们对百度云网盘上边的文件进行管理每次都要去登陆网页是不是很麻烦呢?使用百度云管家就可以对百度云网盘上的文件进行同步管理哦
baidunetdisk是百度云的客户端下载文件存储路径文件夹,里面存储百度云下载的文件。 2019年4月,百度宣布“百度云”品牌全面升级为“百度智能云”。百