📜  python selenium 保存 cookie - Python (1)

📅  最后修改于: 2023-12-03 15:04:08.441000             🧑  作者: Mango

Python Selenium 保存 Cookie

在使用 Selenium 进行 Web 自动化测试时,有时需要将浏览器中的 Cookie 保存下来,方便后续的操作。本文将介绍 Python Selenium 中如何保存 Cookie。

获取 Cookie

可以通过 driver.get_cookies() 方法获取浏览器中所有的 Cookie。该方法返回一个列表,每个元素是一个字典,包含了每个 Cookie 的属性。

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.example.com')
cookies = driver.get_cookies()
print(cookies)

输出:

[
  {'domain': 'www.example.com', 'expiry': 1654643868, 'httpOnly': False, 'name': '_ga', 'path': '/', 'secure': False, 'value': 'GA1.2.1234567890.1649688668'}, 
  {'domain': 'www.example.com', 'expiry': 1649688668, 'httpOnly': False, 'name': '_gid', 'path': '/', 'secure': False, 'value': 'GA1.2.9876543210.1649602268'}
]
保存 Cookie

将获取到的 Cookie 保存到一个文件中,方便后续读取操作。

import pickle
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.example.com')
cookies = driver.get_cookies()
with open('cookies.pkl', 'wb') as f:
    pickle.dump(cookies, f)
读取 Cookie

读取保存的 Cookie 文件,并将 Cookie 设置到浏览器中。

import pickle
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.example.com')
with open('cookies.pkl', 'rb') as f:
    cookies = pickle.load(f)
for cookie in cookies:
    driver.add_cookie(cookie)
driver.get('https://www.example.com')
总结

本文介绍了如何使用 Python Selenium 保存 Cookie,方便后续的操作。需要注意的是,保存的 Cookie 只适用于当前浏览器和当前用户,无法跨浏览器和跨用户使用。