Перейти к основному содержимому

Хранилище и аутентификация

Управляйте файлами cookie, localStorage и sessionStorage, а также сохраняйте и восстанавливайте полное состояние браузера для сохранения аутентификации между сеансами. Требуется возможность storage.

{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest", "--caps=storage"]
}
}
}

Состояние хранилища​

Сохраняйте и восстанавливайте полное состояние браузера (файлы cookie + локальное хранилище) в одном файле. Это основной способ сохранять аутентификацию между сеансами.

browser_storage_state​

Сохраните текущее состояние в JSON-файл.

ПараметрТипОбязательныйОписание
filenamestringнетФайл для сохранения. Относительные пути разрешаются относительно корня рабочей области. По умолчанию используется storage-state-{timestamp}.json в каталоге выходных данных
→ browser_storage_state { filename: "auth-state.json" }
- [Состояние хранилища](auth-state.json)

browser_set_storage_state​

Восстановите ранее сохранённое состояние. Сначала удаляются существующие файлы cookie и очищается локальное хранилище.

ПараметрТипОбязательныйОписание
filenamestringдаПуть к файлу состояния хранилища. Относительные пути разрешаются относительно корня рабочей области
→ browser_set_storage_state { filename: "auth-state.json" }
Состояние хранилища восстановлено из auth-state.json

→ browser_navigate { url: "https://app.example.com/dashboard" }
// Вход в систему уже выполнен
- heading "Dashboard" [level=1] [ref=e2]

Рабочий процесс: сохраните состояние входа, чтобы не входить повторно​

// Войдите в систему один раз
→ browser_navigate { url: "https://app.example.com/login" }
→ browser_type { target: "e3", text: "alice@example.com" }
→ browser_type { target: "e5", text: "s3cret!" }
→ browser_click { target: "e7" }

- heading "Dashboard" [level=1] [ref=e2]

// Сохраните состояние
→ browser_storage_state { filename: "auth-state.json" }

// Следующий сеанс: восстановите состояние вместо повторного входа
→ browser_set_storage_state { filename: "auth-state.json" }
→ browser_navigate { url: "https://app.example.com/dashboard" }

Или загружайте состояние автоматически при запуске сервера:

["@playwright/mcp@latest", "--caps=storage", "--isolated", "--storage-state=./auth-state.json"]
ПараметрТипОбязательныйОписание
domainstringнетФильтрация файлов cookie по домену
pathstringнетФильтрация файлов cookie по пути
→ browser_cookie_list

session_id=abc123 (domain: .example.com, path: /)
theme=dark (domain: .example.com, path: /)
ПараметрТипОбязательныйОписание
namestringдаИмя файла cookie, который нужно получить
→ browser_cookie_get { name: "session_id" }

session_id=abc123 (domain: .example.com, path: /, httpOnly: true, secure: true, sameSite: Lax)

По умолчанию доменом служит имя хоста текущей страницы, а путём — /.

ПараметрТипОбязательныйОписание
namestringдаИмя файла cookie
valuestringдаЗначение файла cookie
domainstringнетДомен файла cookie
pathstringнетПуть файла cookie
expiresnumberнетСрок действия в виде временной метки Unix
httpOnlybooleanнетДоступен ли файл cookie только через HTTP
securebooleanнетПередаётся ли файл cookie только по защищённому соединению
sameSitestringнетStrict, Lax или None

Удалите определённый файл cookie по параметру name или очистите все файлы cookie.

→ browser_cookie_clear
→ browser_navigate { url: "https://app.example.com/dashboard" }

- heading "Sign in" [level=1] [ref=e2]
- textbox "Email" [ref=e3]

localStorage​

Управляйте парами «ключ — значение» в localStorage для текущего источника (origin).

ИнструментПараметры
browser_localstorage_list(нет)
browser_localstorage_getkey (string)
browser_localstorage_setkey (string), value (string)
browser_localstorage_deletekey (string)
browser_localstorage_clear(нет)
→ browser_localstorage_list

user_preferences={"theme":"dark","lang":"en"}
onboarding_done=true

→ browser_localstorage_set { key: "onboarding_done", value: "false" }
→ browser_navigate { url: "https://app.example.com" }

// Появляется мастер первоначальной настройки
- heading "Welcome! Let's get started" [level=1] [ref=e2]

sessionStorage​

Тот же интерфейс, что и у localStorage, но с областью действия в пределах сеанса — данные удаляются при закрытии вкладки.

ИнструментПараметры
browser_sessionstorage_list(нет)
browser_sessionstorage_getkey (string)
browser_sessionstorage_setkey (string), value (string)
browser_sessionstorage_deletekey (string)
browser_sessionstorage_clear(нет)