环境:python 3.6 + selenium
实现百度云盘登录,(下一篇预告----上传文件至百度云盘文件夹)
代码:
# -*- coding:utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
#登录网盘
def login(username,password):
try:
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')#无界面选项
driver = webdriver.Chrome(
executable_path=r'E:\Persona_project\Py-Program\Spider\ZhenQiWang_spider\driver\chromedriver.exe')# ,chrome_options=chrome_options)
driver.delete_all_cookies()#清除所有cookies
driver.get("http://pan.baidu.com/")
driver.maximize_window()#界面窗口放大
WebDriverWait(driver, 1000).until(EC.presence_of_all_elements_located((By.CLASS_NAME, "pass-form-logo")))
# 登陆百度网盘
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_4__footerULoginBtn"]').click()
driver.find_element_by_id('TANGRAM__PSP_4__userName').clear()
driver.find_element_by_id('TANGRAM__PSP_4__userName').send_keys(username)
driver.find_element_by_id('TANGRAM__PSP_4__password').clear()
driver.find_element_by_id('TANGRAM__PSP_4__password').send_keys(password)
time.sleep(10)
driver.find_element_by_id('TANGRAM__PSP_4__submit').click()
time.sleep(3)
# 确认是否登陆成功
driver.find_element_by_xpath('//*[@id="dialog1"]/div[2]/div/div[2]/span').click()
test = driver.find_element_by_xpath(
'//*[@id="layoutAside"]/div/div/div/ul[1]/li[1]/a/span/span[2]').text
if test == "全部文件":
print('登陆成功!!!')
time.sleep(3)
else:
driver.close()
login(username, password)
except:
print('登录失败,正在重新登录!!')
login(username, password)
if __name__ == '__main__':
username='xxx'#账号
password='xxx'#密码
login(username,password)