selenium破解极限

一共分为两端段代码:

 第一段:获取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")
剩下的就可以做其他操作了...


原文地址:https://www.cnblogs.com/mxhmxh/p/9367672.html