Storage¶
StorageModule ¶
Module for managing browser cookies.
Commands
- get_cookies — gets cookies from a context
- set_cookie — creates or updates a cookie
- delete_cookies — deletes cookies by filter
- delete_cookie — deletes a single cookie by name
Example
cookies = await client.storage.get_cookies(context) for cookie in cookies: print(f"{cookie.name}={cookie.value}")
await client.storage.set_cookie( context, cookie=Cookie(name="session", value="abc123", domain="example.com"), )
Source code in bidiwave/modules/storage.py
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 | |
get_cookies
async
¶
get_cookies(context: BrowsingContext | str, filter: dict[str, Any] | None = None, partition_key: dict[str, Any] | None = None) -> list[Cookie]
Gets cookies from a browsing context, optionally filtered.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
BrowsingContext | str
|
BrowsingContext or context ID. |
required |
filter
|
dict[str, Any] | None
|
Optional filter dict (e.g. {"name": "session"}). |
None
|
partition_key
|
dict[str, Any] | None
|
Optional partition key with userContext/sourceOrigin. |
None
|
Returns:
| Type | Description |
|---|---|
list[Cookie]
|
List of Cookie. |
Source code in bidiwave/modules/storage.py
set_cookie
async
¶
set_cookie(context: BrowsingContext | str, cookie: Cookie, partition_key: dict[str, Any] | None = None) -> None
Creates or updates a cookie in a browsing context.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
BrowsingContext | str
|
BrowsingContext or context ID. |
required |
cookie
|
Cookie
|
Cookie to set. |
required |
partition_key
|
dict[str, Any] | None
|
Optional partition key with userContext/sourceOrigin. |
None
|
Source code in bidiwave/modules/storage.py
delete_cookies
async
¶
delete_cookies(context: BrowsingContext | str, name: str | None = None, domain: str | None = None, path: str | None = None, partition_key: dict[str, Any] | None = None) -> None
Deletes cookies from a browsing context.
If name, domain or path are not specified, deletes all cookies.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
BrowsingContext | str
|
BrowsingContext or context ID. |
required |
name
|
str | None
|
Name of the cookie to delete. None = all. |
None
|
domain
|
str | None
|
Domain of cookies to delete. |
None
|
path
|
str | None
|
Path of cookies to delete. |
None
|
partition_key
|
dict[str, Any] | None
|
Optional partition key with userContext/sourceOrigin. |
None
|
Source code in bidiwave/modules/storage.py
delete_cookie
async
¶
Deletes a single cookie by name from a browsing context.
Convenience wrapper around delete_cookies with a name filter.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
context
|
BrowsingContext | str
|
BrowsingContext or context ID. |
required |
name
|
str
|
Name of the cookie to delete. |
required |
Source code in bidiwave/modules/storage.py
Cookie model¶
Cookie ¶
Bases: BaseModel
Browser cookie (storage.getCookies / storage.setCookie).
Source code in bidiwave/protocol/results.py
Get cookies¶
cookies = await client.storage.get_cookies(context)
for cookie in cookies:
print(f"{cookie.name}={cookie.value} (domain={cookie.domain})")
Set cookie¶
from bidiwave import Cookie
await client.storage.set_cookie(
context,
cookie=Cookie(
name="session",
value="abc123",
domain="example.com",
path="/",
http_only=True,
secure=True,
same_site="Strict",
expires=1735689600,
),
)
Delete cookies¶
# Delete all cookies
await client.storage.delete_cookies(context)
# Delete a specific cookie by name
await client.storage.delete_cookies(context, name="session")
# Delete cookies by domain
await client.storage.delete_cookies(context, domain="example.com")
# Delete cookies by name, domain, and path
await client.storage.delete_cookies(
context,
name="session",
domain="example.com",
path="/app",
)