# -*- coding: utf-8 -*-
from selenium.webdriver.common.action_chains import ActionChains
from selenium import webdriver
import time
import os
paths=[]
path=r"C:\Users\XXXXX\Desktop\2017"
def open_the_baidu():
html="http://pan.baidu.com/"
driver=webdriver.Chrome()
driver.implicitly_wait(10)
driver.get(html)
name="xxxxxxx"
password="xxxxxxxx"
#模拟鼠标左键点击切换到账号密码登陆页面,因为首页是二维码......
left_click=driver.find_element_by_xpath("//*[@id=\"login-middle\"]/div/div[1]/div[2]/a")
ActionChains(driver).click(left_click).perform()
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_4__userName\"]").clear()
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_4__password\"]").clear()
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_4__userName\"]").send_keys(name)
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_4__password\"]").send_keys(password)
driver.find_element_by_xpath("//*[@id=\"TANGRAM__PSP_4__submit\"]").click()
#######把百度云对应的文件夹对应的url打开########
driver.get("http://pan.baidu.com/disk/home?errno=0&errmsg=AuthXXXXXXX")
i=0
while(len(paths)>0):
i=i+1
if(i==400):
##一开始用driver.close(),结果浏览器关了,但geckodriver.exe没关
driver.quit()
return
time.sleep(1)
#对于<input title="点击选择文件" id="h5Input0">这种input型上传方式直接xpath+send_keys()
driver.find_element_by_xpath("//*[@id=\"h5Input0\"]").send_keys(paths.pop())
#########把所有文件的路径压入栈##############
def files_traverse(path):
#os.walk这个函数会遍历本文件还有子文件中的所有文件夹还有文件
#parent是文件所在文件夹的路径,dirnames是文件夹迭代器,filenames是文件迭代器
global driver
for parent,dirnames,filenames in os.walk(path):
#三个参数:分别返回1.该目录路径 2.所有文件夹名字(不含路径) 3.所有文件名字(不含路径)
for filename in filenames:
#filename输出文件夹还有子文件夹中所有文件信息
paths.append(parent+"\\"+filename)
print("File name is:"+parent+"\\"+filename) #输出文件路径信息
print("****************************************")
#########主函数#################
files_traverse(path)
while(len(paths)>0):
time.sleep(1)
open_the_baidu()
使用python的selenium库实现突破百度云文件上传个数的限制
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题 在做web端ui层自动化的时候会碰到文件上传的操作,经常有朋友问到,这里总结一下 解决方案 第一种:type...
- 最近写自动化用例,场景涉及到对git仓库文件的增,删,改,最开始想着通过selenium对git进行模拟手工操作,...
- upload_max_filesize – 没错就是这个,最大上传文件大小限制。你会发现此处默认为2M。memor...
- 介绍 这是一个百度云/百度网盘的Python客户端。主要的目的就是在Linux环境下(Windows下应该也可用,...