天天看點

Python selenium中儲存、讀取登陸後的cookie詳細說明

分享知識  傳遞快樂

1、selenium儲存cookie

def save_cookie(browser):
    '''
    說明:pickle庫來序列化資料(把格式資料存入檔案和加載到記憶體)
    '''
    cookies = browser.get_cookies()
    # 方法一
    # with open('taobao_cookie.pickle','wb') as f:
    #    pickle.dump(cookies, f)
    
    # 方法二
    pickle.dump(cookies, open('taobao_cookies.pkl','wb'))      

2、selenium讀取cookie

def get_cookie(browser):

    # 清除浏覽器打開已有的cookies
    browser.delete_all_cookies()
    # 方法一
#     with open('taobao_cookie','rb') as f:
#         cookies = pickle.load(f)
#     for cookie in cookies:
#         if 'expiry' in cookie:
#             del cookie['expiry']
#     
#         browser.add_cookie(cookie)

    
    # 方法二
    cookies = pickle.load(open("taobao_cookies.pkl", "rb"))
    for cookie in cookies: 
        if isinstance(cookie.get('expiry'), float):
            cookie['expiry'] = int(cookie['expiry'])
        
        browser.add_cookie(cookie)      

open 中的 taobao_cookies.pkl 是儲存 cookie 的檔案,該檔案的路徑在目前 python 檔案的平級目錄下。讀 cookie 時若出現異常,請參考​​《Python selenium中讀取cookie報錯:ERROR Message: invalid argument: invalid 'expiry'》​​

繼續閱讀