iT邦幫忙

2024 iThome 鐵人賽

DAY 14
0
Python

一些Python可以做的事系列 第 14

[Python] Selenium 對 Cookie 的操作

  • 分享至 

  • xImage
  •  

Cookie 是什麼 ?

HTTP cookie,簡稱cookie,又稱「網站/瀏覽+魔餅/魔片」等,是瀏覽網站時由網路伺服器建立並由網頁瀏覽器存放在使用者電腦或其他裝置的"小文字檔案"。

Cookie使Web伺服器能在使用者的裝置儲存狀態資訊(如添加到線上商店購物車中的商品)或追蹤使用者的瀏覽活動(如點選特定按鈕、登入或記錄歷史)

Cookie 常用場景

  • 網路購物(購物車) : 當使用者瀏覽商品時,網站會在後台發送包含商品信息的Cookie。因此不管使用者在網站上瀏覽任何頁面,伺服器都能識別使用者的購物車狀態,並在結帳時讀取 Cookie 中的商品信息。
  • 帳號登入 : 使用者首次登入時,伺服器會將包含登入資料的 Cookie 發送到使用者的瀏覽器。之後,即使使用者關閉瀏覽器或重新訪問網站,只要 Cookie 沒有過期,瀏覽器會自動發送這個 Cookie,伺服器可以根據 Cookie 驗證使用者身份,免去重複登入的步驟。

在網頁中找 Cookies

輔大學生資訊入口網為例子,[Chrome] > 滑鼠按右鍵,點擊"檢查" > "Application" > "Cookies" , 會發現 Cookie 在瀏覽器中是一條一條存在的,每條 Cookie 以鍵-值儲存
https://ithelp.ithome.com.tw/upload/images/20240823/20168345et4edhEG53.png

Selenium 對 Cookie 的操作

讀取 cookie

  • driver.get_cookies() : 獲取所有 cookie
  • driver.get_cookie(Name) : 獲取特定一個 cookie
from selenium import webdriver

# 初始化 WebDriver
driver = webdriver.Chrome()
driver.get('https://portal.fju.edu.tw/student/')

# 獲取所有 cookie
cookies = driver.get_cookies()

# 獲取特定一個 cookie
cookies_std = driver.get_cookie('Student_SessionId')
圖示 : 讀取 cookie

https://ithelp.ithome.com.tw/upload/images/20240823/20168345YOeAevyKGF.png

新增 cookie

  • driver.add_cookie(cookie_dict) : 結構要為一個鍵一個值
from selenium import webdriver

# 初始化 WebDriver
driver = webdriver.Chrome()
driver.get('https://portal.fju.edu.tw/student/')

# 新增cookie
driver.add_cookie({'name' : 'add', 'value' : 'newcookies'})
圖示 : 新增 cookie

https://ithelp.ithome.com.tw/upload/images/20240823/20168345JpNb8whOHq.png

刪除 cookie

  • driver.delete_all_cookies() : 刪除所有 cookie
  • driver.delete_cookie(name) : 刪除特定 cookie
from selenium import webdriver

# 初始化 WebDriver
driver = webdriver.Chrome()
driver.get('https://portal.fju.edu.tw/student/')

# 刪除特定 cookie
driver.delete_cookie('Student_SessionId')

# 刪除所有 cookie
driver.delete_all_cookies()

圖示 : 刪除特定 cookie

https://ithelp.ithome.com.tw/upload/images/20240823/2016834517lGozZ6Gy.pnghttps://ithelp.ithome.com.tw/upload/images/20240823/20168345IsLi1AeftK.png

參考資料 :
https://zh.wikipedia.org/zh-tw/Cookie
https://blog.csdn.net/XianZhe_/article/details/119860391


上一篇
[Python] Selenium 登入實作
下一篇
[Python] Selenium 和 Requests 的差別
系列文
一些Python可以做的事30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言