Как взаимодействовать с cookies, LocalStorage и SessionStorage?
🔹 Работа с Cookies в Selenium
Selenium имеет встроенные методы для работы с cookies браузера:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
# Получить все cookies
print(driver.get_cookies())
# Получить cookie по имени
print(driver.get_cookie("session_id"))
# Добавить cookie
driver.add_cookie({"name": "test_cookie", "value": "12345"})
# Удалить cookie по имени
driver.delete_cookie("test_cookie")
# Удалить все cookies
driver.delete_all_cookies()
📌 Используется, например, для автоматического входа без логина/пароля (подставляем session_id
в cookies).
🔹 Работа с LocalStorage и SessionStorage
Selenium напрямую не имеет API для LocalStorage/SessionStorage, но можно использовать JavaScript через execute_script()
.
✅ LocalStorage
# Установить значение
driver.execute_script("window.localStorage.setItem('key', 'value');")
# Получить значение
value = driver.execute_script("return window.localStorage.getItem('key');")
print(value)
# Удалить элемент
driver.execute_script("window.localStorage.removeItem('key');")
# Очистить LocalStorage
driver.execute_script("window.localStorage.clear();")
✅ SessionStorage
# Установить значение
driver.execute_script("window.sessionStorage.setItem('key', 'value');")
# Получить значение
value = driver.execute_script("return window.sessionStorage.getItem('key');")
print(value)
# Удалить элемент
driver.execute_script("window.sessionStorage.removeItem('key');")
# Очистить SessionStorage
driver.execute_script("window.sessionStorage.clear();")
🔹 Различия
Cookies – хранятся на сервере и клиенте, отправляются с каждым HTTP-запросом. Используются для сессий и авторизации.
LocalStorage – хранит данные в браузере постоянно, пока не будет очищен (даже после перезапуска).
SessionStorage – хранит данные только в рамках одной вкладки, очищается при её закрытии.
✅ Итог:
Для авторизации → чаще используют cookies.
Для тестовых данных/флагов UI → LocalStorage.
Для временных данных в одной вкладке → SessionStorage.
Last updated
Was this helpful?