python+selenium給webdriver添加cookie

最近要爬取一家需要登錄的網(wǎng)站,之前嘗試cookie替換一直不成功,今天通過搜索網(wǎng)上的資料終于成功了。話不多說,直接上干貨。

1. 判斷cookie中起作用的字段

登錄目標(biāo)網(wǎng)站,打開谷歌瀏覽器F12調(diào)試器,可以發(fā)現(xiàn)cookie里面有很多字段,你要找到起作用的那一個,一般是(XX)SESSIONID字樣的字段。

2. 構(gòu)造cookie_dict

注意: 對cookie的操作一定要在driver.get()方法后。
cookie_dict起作用的一般是如下字段

{
    'domain': '', 
    'path': '', 
    'name': '',
    'value': ''
}  

所以需要對上面字段進(jìn)行設(shè)置,在之前第1步中會獲取到cookie的字符串,假設(shè)你獲得的cookie字符串為"XXSESSIONID=sadasda", 則
'name'對應(yīng) "XXSESSIONID"
'value' 對應(yīng) "sadasda"
那么pathdomain字段呢?不用著急,接著往下看
selenium里提供有根據(jù)name獲取對應(yīng)cookie_dict的方法,

# 獲取名為'XXSESSIONID'的cookie
driver.get_cookie('XXSESSIONID')

這樣就能知道XXSESSIONID對應(yīng)cookie_dictdomainpath字段的值了,從而構(gòu)造出我們的cookie_dict。

3. 替換cookie_dict

既然我們已經(jīng)知道哪個cookie字段起作用,我們就替換掉它。分為下面3步:

# 1.刪除名為'XXSESSIONID'對應(yīng)的cookie_dict
driver.delete_cookie('XXSESSIONID')
# 2.添加我們構(gòu)造的cookie_dict, cookie_dict由第2步方法構(gòu)造所得
driver.add_cookie(cookie_dict)
# 3.刷新頁面
driver.refresh()

刷新頁面操作后就能看到模擬登陸是否成功,建議使用chromedriver來進(jìn)行測試。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容