python+playwright 学习-11.保存登录cookie,解决反复登录的问题

本文介绍了如何在Python Playwright中使用`storageState`保存登录cookies,以解决web自动化测试中反复登录的问题。通过保存经过身份验证的浏览器状态到本地文件,之后的测试可以直接加载cookies,提高测试效率。还探讨了高级场景,包括处理会话存储以实现更全面的身份验证状态重用。
摘要由CSDN通过智能技术生成

前言

在写web自动化的时候,很多用例是需要先登录的,为了做到每个用例的隔离,数据互不影响,一般会创建一个新的page对象。
很多用例是需要先登录的,可以先登录后把cookie保存到本地,通过加载cookie的方式解决重复登录的问题。

登录认证

Playwright 在称为浏览器上下文的隔离环境中执行测试。这种隔离模型提高了可重复性并防止级联测试失败。
测试可以加载现有的经过身份验证的状态。这消除了在每个测试中进行身份验证的需要并加快了测试执行速度。

我们建议创建 auth 目录并将其添加到您的 .gitignore. 您的身份验证例程将生成经过身份验证的浏览器状态并将其保存到此auth目录中的文件中。稍后,测试将重用此状态并开始已通过身份验证。
windows 操作命令

md auth
echo. >> .gitignore
echo "auth" >> .gitignore

以下示例登录到 GitHub。执行这些步骤后,浏览器上下文将通过身份验证。

page = context.new_page()
page.goto('https://github.com/login')

# Interact with login form
page.get_by
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在Python中使用Playwright保存cookie,你可以使用Playwright的`context.add_cookies`方法将cookie添加到浏览器上下文中。以下是一个示例代码: ```python from playwright.sync_api import sync_playwright def save_cookie(url, cookies): with sync_playwright() as playwright: browser = playwright.chromium.launch() context = browser.new_context() page = context.new_page() # 导航到网页以获取cookie page.goto(url) # 添加cookie到浏览器上下文 context.add_cookies(cookies) # 使用cookie登录 page.goto(url) # 在此处执行其他操作 # 关闭浏览器 browser.close() # 示例用法 url = 'https://example.com' cookies = [ {'name': 'session_id', 'value': 'your_session_id'}, {'name': 'user_id', 'value': 'your_user_id'} ] save_cookie(url, cookies) ``` 在上面的示例中,我们使用Playwright的`sync_playwright`方法来创建浏览器对象,并指定使用Chromium浏览器。然后,我们创建一个新的浏览器上下文和页面对象。 首先,我们导航到指定的URL以获取cookie。然后,我们使用`add_cookies`方法将cookie添加到浏览器上下文中。 接下来,我们再次导航到同一个URL,此时浏览器将带有添加的cookie进行请求。 你可以在`save_cookie`函数中执行其他需要使用cookie的操作。最后,我们关闭浏览器。 请确保已经安装了Playwright库,可以使用`pip install playwright`进行安装。另外,还需要安装Chromium浏览器驱动,可以使用Playwright提供的`browser_type.launch()`方法来下载所需的驱动。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值