有時需要在webDriver訪問網站時,附帶cookie實現免登陸訪問,以下是一個簡單的實現方式。
登錄並保存cookie
'''
前面部分代碼用於填寫登錄信息並登錄
'''
# 獲取cookie並通過json模塊將dict轉化成str
dictCookies = self.browser.get_cookies()
jsonCookies = json.dumps(dictCookies)
# 登錄完成后,將cookie保存到本地文件
with open('cookies.json', 'w') as f:
f.write(jsonCookies)
讀取cookie實現免登陸訪問
# 初次建立連接,隨后方可修改cookie
self.browser.get('http://xxxx.com')
# 刪除第一次建立連接時的cookie
self.browser.delete_all_cookies()
# 讀取登錄時存儲到本地的cookie
with open('cookies.json', 'r', encoding='utf-8') as f:
listCookies = json.loads(f.read())
for cookie in listCookies:
self.browser.add_cookie({
'domain': '.xxxx.com', # 此處xxx.com前,需要帶點
'name': cookie['name'],
'value': cookie['value'],
'path': '/',
'expires': None
})
# 再次訪問頁面,便可實現免登陸訪問
self.browser.get('http://xxx.com')