python 实现自动上传文件到百度网盘(附程序源码及实现过程)

2023-11-04

把环境搭建完成之后就可以上传文件到自己的百度网盘中。环境搭建移步:
环境准备
python3.6
firefox(最好是最新版,不然不会报错)
Windows 7
框架搭建
selenium3.6
安装方法:
pip install selenium
实现步骤:
一、步骤分析
1、选择“账号密码登录”
2、输入用户名、密码输入,登录
3、文件上传
注:本文主要介绍利用selenium包下的webdriver加载Firefox浏览器。通过加载一个浏览器变量来实现自动上传
利用火狐浏览器firebug插件复制控件的XPATH路径,选用xpath比较准确且速度较快。还有别的通过名称、类ID以及元素等等方法都是可以获取网页页面中的控件。
获取账号密码登录信息:
获取用户名、密码控件xpath信息:
获取登录成功后上传文件按钮控件路径:
综合以上python代码如下:
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[2]').send_keys(用户名) #账号
driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input[2]').send_keys(密码) # 密码
driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[9]/input').click() #设置思考时间 #登录
driver.find_element_by_xpath('//*[@id="h5Input0"]').click() #上传文件
2、登录成功后,点击文件上传,弹出文件对话框
“上传”的Xpath路径为://*[@id="h5Input0"]
代码:
driver.find_element_by_xpath('//*[@id="h5Input0"]').click()
点击上传按钮,弹出文件对话框

三、AutoIT编写脚本实现上传文件
webdriver无法对文件直接进行操作,所以需要借助AutoIT来实现文件上传
AutoIT下载地址:https://www.autoitscript.com/site
安装AutoIt之后,打开AutoIt Window Info(x64)

从上到下依次为:打开嗅探工具 编译au3到exe au3编辑器
4、获取文件上传窗口的控件信息:
打开autoit工具之后,用鼠标将Finder Tool的图标拖到要识别的控件上
获取文本框的控件信息:
开始嗅探文件名

嗅探打开按钮
5、编写AutoIt脚本,实现文件上传
1.打开scite script editor
代码如下:
# coding=utf-8
import time
from selenium import webdriver
driver = webdriver.Firefox() #打开火狐浏览器
driver.get('http://www.baidu.com') #打开百度界面
driver.find_element_by_id('kw').send_keys('China') #在搜索框内输入想要搜索内容
time.sleep(2) # 浏览器加载需要时间
driver.find_element_by_id('su').click() #搜索完成
这块的代码编写完成后,先测试下。
tools---》Go 运行无误后,然后把au3文件转换成exe。
4. 使用compile script to exe将上述AutoIt脚本编译为exe文件供python脚本调用
点击ok即可。
6、最后,使用Python脚本调用AutoIT脚本
完整代码如下:
import os
from selenium import webdriver
import time
#class Connect():
UserName = ''
PassWord = ''
URL = 'https://pan.baidu.com/'
driver = webdriver.Firefox()
driver.get(URL)
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[2]').send_keys(UserName )
driver.find_element_by_xpath('/html/body/div[1]/div[3]/div[6]/div/div[3]/form/p[6]/input[2]').send_keys(PassWord )
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 = driver.current_window_handle #此行代码用来定位当前页面
driver.find_element_by_xpath('//*[@id="h5Input0"]').click()
os.system(r'C:\\Users\xx\Desktop\upfile.exe')
我的运行结果如下:

这三个文件是我自动上传上去的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 实现自动上传文件到百度网盘(附程序源码及实现过程) 的相关文章

随机推荐

  • 时间序列预测--ARIMA、LSTM

    时间序列预测 ARIMA LSTM ARIMA ARIMA模型全称为差分自回归移动平均模型 Auto regressive Integrated Moving Average Model 简记ARIMA ARIMA p d q 称为差分自回
  • 大话自由职业之区块链

    初稿 marker 在不久的将来 可见的未来 区块链将深刻的改变我们生活工作交流的方式 不久的将来 可见的未来 我们的社会衡量经济水平的标准或许不是就业人口数量 而是自由职业人口数量 不久的将来 可见的未来 我们的工作合作的关系或许不再有公
  • 关于java中File类的总结

    1 File类只是操作文件 不涉及内容 2 File类的重要方法 设置完整路径 public File String filename 删除文件 public boolean delete 判断文件是否存在 public boolean e
  • Commit message全局安装

    Git Commit Message 全局安装 开发环境 电脑系统 Windows 10 64位系统 调试工具 PowerShell Git cnpm Commit Message 格式 使用 Angular 团队的规范 其Commit M
  • WINDOWS 命令行 串口 COM 发送数据

    WINDOWS 命令 串口 数据 type con gt com1 回车 com1 为想发送的串口 输入字符并回车即可 转载于 https www cnblogs com runliuv p 9817126 html
  • windows10: vscode conda activate CommandNotFoundError

    Windows10 在vscode中自动激活环境报错 CommandNotFoundError 转载自 https www cnblogs com weixia blog p 11408125 html 最近重装了系统 装完anaconda
  • 小程序微信支付

    微信小程序实现支付功能 1 准备工作 在开始实现微信小程序支付功能之前 我们需要先完成以下准备工作 注册微信支付商户号 并完成商户资质审核 微信支付开发文档 在小程序中引入微信支付JSAPI 获取用户的openid 用于发起支付请求 2 支
  • 【Python】模块

    模块 就类似于我们生活中的工具包 Python中的源程序可以作为模块 我们需要使用时 直接将模块导入到我们需要使用的源程序中即可 目录 模块 导入模块 模块导入原理 局部导入 包 包的定义 模块的使用 模块 导入模块 我们导入模块使用的是i
  • Mybatis-Plus查询或更新报错

    报错 Error evaluating expression ew null and ew sqlFirst null Cause org apache ibatis ognl OgnlException sqlFirst 原因 Query
  • SD-WAN与MPLS VPN,MSTP,IPSEC VPN,SSL VPN有什么区别?

    对于目前市场上主流的SD WAN MPLS VPN SSL VPN IPSec VPN和MSTP等企业组网技术 想必大家一定不陌生 其实 MPLS VPN IPSec VPN SSL VPN都属于采用IP VPN技术的产品 IP VPN 虚
  • 重新启动elasticsearch 报错:org.elasticsearch.bootstrap.StartupException: java.lang.IllegalStateException:

    cmd命令重新启动elasticsearch 报错 org elasticsearch bootstrap StartupException java lang IllegalStateException failed to obtain
  • java连接oracle数据库的各种方法及java在数据库中的含义

    java连接oracle数据库的各种方法及java在数据库中的含义 java与oracle的接口 在数据库中运行JAVA可以说是ORACLE8i的最令人激动的新特性 在你创建的使用ORACLE8i 数据库的应用程序中 你可以使用与JAVA有
  • 转载:图像噪声的成因分类与常见图像去噪算法简介

    本文转载自博客园博主淇淇宝贝 图像的空域噪声以及二维降噪算法介绍 1 图像噪声的成因 图像在生成和传输过程中常常因受到各种噪声的干扰和影响而是图像降质 这对后续图像的处理和图像视觉效应将产生不利影响 噪声种类很多 比如 电噪声 机械噪声 信
  • YOLOv5:Profile、Timeout、WorkingDirectory上下文管理器 以及torch.cuda.synchronize()

    相关介绍 Python是一种跨平台的计算机程序设计语言 是一个高层次的结合了解释性 编译性 互动性和面向对象的脚本语言 最初被设计用于编写自动化脚本 shell 随着版本的不断更新和语言新功能的添加 越多被用于独立的 大型项目的开发 Pyt
  • 因果推断(三)——结构因果模型、干预、辛普森悖论

    主要内容 结构因果模型 干预 辛普森悖论 调整公式 结构因果模型 Structural Causal Model SCM 定义 结构因果模型被定义为一个有序三元组
  • jTable设置单个单元格颜色

    尝试Swing已经一星期 感觉Swing里的坑还是很多的 对于我这种刚入门的新手来说 接口确实有些不顺手 闲话休提 需求是这样的 绘制一个数据表格 假如其中某个单元格的数据超出阈值 该单元格标红 在Swing的库里简略地翻了一阵子的结果是
  • 《Thinking in java》笔记

    thinking in java 引发的思考 关于java面向对象的思考 抽象 并发 thinking in java中1 1抽象过程的描述 问题空间 gt 解空间的映射 所有问题最终都是列表 所有问题最终都是算法 面向对象 对象是现实世界
  • 向日葵win10控制Ubuntu失败怎么办

    服务器Ubuntu18 04 我的个人电脑win10 服务器端控制win10没问题 但是win10控制不了Ubuntu 这是因为向日葵在Ubuntu上没有开放xhost造成的 在Ubuntu的终端输入以下命令 sudo gedit etc
  • 曙光服务器重装系统centos7.9

    我的诉求是重装系统 清空所有 因此在划分磁盘的地方把以前的全部删了 朋友们谨慎参考 大致的思路就是 1 刻录一个带有新系统的U盘 系统可能和服务器硬件不兼容 因此建议搞俩系统 2 在服务器旁边 连接显示屏操作
  • python 实现自动上传文件到百度网盘(附程序源码及实现过程)

    把环境搭建完成之后就可以上传文件到自己的百度网盘中 环境搭建移步 环境准备 python3 6 firefox 最好是最新版 不然不会报错 Windows 7 框架搭建 selenium3 6 安装方法 pip install seleni