一共分为两端段代码:
第一段:获取cookie
第二段:通过cookie登陆
这里以百度云为例:
第一部分:保存cookies,直接在cmd中执行就好
>>> from selenium import webdriver
>>> from selenium.webdriver.support.ui import WebDriverWait
>>> from selenium.webdriver.common.action_chains import ActionChains
>>> import time
>>> driver = webdriver.Chrome(executable_path='D:Code/chromedriver.exe')
>>> driver.get('https://id.163yun.com/login?referrer=https://console.163yun.com&
h=wyygw')
只要能打开网易云登陆界面,其他的只需要手动触发就好,直接登陆。主要是保存cookies cookies=driver.get_cookies()
保存cookies
>>> with open("aaa.txt",'a')as f:
... f.write(cookies)
...
此时会报错:TypeError: expected a string or other character buffer object
但可以用python中内置的pickle
>>> import pickle
>>> pickle.dump(cookies,open("aaa.txt","wb"))
第一步保存cookies结束第二步:直接用cookies登陆
driver.get("https://id.163yun.com/login?referrer=https://console.163yun.com&h=wyygw")
cookies = pickle.load(open("aaa.txt", "rb"))
for cookie in cookies:
driver.add_cookie(cookie)
#在此get就可以进入(好像driver.refresh()刷新更直接)
driver.get("https://id.163yun.com/login?referrer=https://console.163yun.com&h=wyygw")
剩下的就可以做其他操作了...