python+playwright 学习-78 获取浏览器cookies

前言

playwright 操作浏览器上的页面后,后续如果想结合其他的框架操作接口(如:requests),可以直接获取到浏览器的 cookies。

context.cookies() 获取浏览器 cookies

使用示例

from playwright.sync_api import sync_playwright, expect
# 上海悠悠 wx:283340479
# blog:https://www.cnblogs.com/yoyoketang/


with 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()


2023最新《Playwright+Python自动化测试》点我 ->立即参与
联系微信:283340479

posted @ 2023-08-28 16:23  上海-悠悠  阅读(1773)  评论(0编辑  收藏  举报