playwright 操作浏览器上的页面后,后续如果想结合其他的框架操作接口(如:requests),可以直接获取到浏览器的 cookies。
使用示例
from playwright.sync_api import sync_playwright, expectwith sync_playwright() as p:
browser = p.chromium.launch(headless=False)
context = browser.new_context()
page = context.new_page() # 访问浏览器页面
page.goto('https://www.cnblogs.com/yoyoketang/') # 方法1
print(context.cookies()) # 方法2
print(page.context.cookies())
运行结果
[{'name': '.Asp....', 'value': '........', 'domain': 'www.cnblogs.com', 'path': '/', 'expires': -1, 'httpOnly': True, 'secure': False, 'sameSite': 'Lax'},
{'name': 'a', 'value': '....', 'domain': '.miaozhen.com', 'path': '/', 'expires': 1727770060.287547, 'httpOnly': False, 'secure': True, 'sameSite': 'None'}
...]
内容比较长,省略了一些。 如果context.cookies()未指定urls 参数,此方法将返回所有cookie。如果指定了urls,则只返回影响这些 url 的cookie。 仅获取当前访问地址的cookies
# 访问浏览器页面
page.goto('https://www.cnblogs.com/yoyoketang/')
print(page.url)
print(context.cookies(page.url))
另外 2 个 cookies 相关操作方法
# 添加cookies
context.add_cookies()
# 清空
context.close()