Playwright身份验证

1. 登录账号

以下以Google为例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 保存身份验证状态

from creds import EMAIL, PASSWORD
from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    browser = playwright.firefox.launch(headless=False, slow_mo=500)
    # Browser context will allow us to store the authentication state and save it when we have performed
    context = browser.new_context()

    page = context.new_page()
    page.goto("https://accounts.google.com")

    # Enter email
    email_input = page.get_by_label("Email or phone")
    email_input.fill(EMAIL)

    next_btn = page.get_by_role("button", name="Next").click()

    # Enter password
    password_input = page.get_by_label("Enter your password")
    password_input.fill(PASSWORD)

    next_btn = page.get_by_role("button", name="Next").click()

    page.pause()

    # Save authentication state: recommend to create a folder to save our storage
    # Create 2 folders: playwright\.auth
    context.storage_state(path="playwright/.auth/storage_state.json")

    context.close()
  1. 打开页面,输入用户名,点击Next
    在这里插入图片描述
  2. 输入密码,点击Next
    在这里插入图片描述

这时进入page.pause(),因为需要一个验证码的手动验证
在这里插入图片描述
在这里插入图片描述
输入完成后关掉pause


在这里插入图片描述
执行结束之后,我们可以看到文件夹下面多了一个刚刚保存的文件。
在这里插入图片描述

3. 重复使用身份验证状态

修改part2的code,引用part 2 save的文件

from creds import EMAIL, PASSWORD
from playwright.sync_api import sync_playwright

with sync_playwright() as playwright:
    browser = playwright.firefox.launch(headless=False, slow_mo=500)
    # Browser context will allow us to store the authentication state and save it when we have performed
    context = browser.new_context(
        storage_state="playwright/.auth/storage_state.json"
    )

    page = context.new_page()
    page.goto("https://accounts.google.com")

    page.pause()

    context.close()

执行code会直接登录,进入Home页
在这里插入图片描述

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值