我正在尝试使用python在playwright中向浏览器添加cookie,当我打印
BrowserContext
cookies时,我可以看到我添加的cookie,但是当我从浏览器中检查它时,它不存在。如何告诉浏览器从浏览器上下文添加 cookie?这是我的代码:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless = False,devtools=True)
context = browser.new_context()
page = context.new_page()
page.goto("https://crawler-test.com/")
# defining a random cookie
cookies = [{'name': 'temp', 'value': 'temp', 'domain': 'temp.com', 'path': '/'}]
# adding cookie to the browser context
context.add_cookies(cookies)
# printing cookies
print(context.cookies())
browser.close()
这是在终端中看到的输出:
[{'name': '_ga_78MMTFSGVB', 'value': 'GS1......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'},
{'name': '_ga', 'value': 'GA1......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'},
{'name': '_gid', 'value': 'GA1.......', 'domain': '.crawler-test.com', 'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'},
{'name': '_gat_UA-7097885-11', 'value': '1', 'domain': '.crawler-test.com',
'path': '/', 'expires': 1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'},
{'name': 'temp', 'value': 'temp', 'domain': 'temp.com', 'path': '/', 'expires': -1, 'httpOnly': False, 'secure': False, 'sameSite': 'Lax'}]
如您所见,所需的 cookie 已成功添加到浏览器上下文中,但是当我从浏览器检查 cookie 时,我没有看到添加的 cookie :
问题在于
domain
,它应该与网站网址匹配。我错误地将其设置为'temp.com'
,与网站的网址不匹配。应该是'.crawler-test.com'
。当我更改代码时,cookie 已成功添加。
cookies = [{'name': 'temp', 'value': 'temp', 'domain': '.crawler-test.com', 'path': '/'}]