首页 > 其他分享 >PlayWright检测用户登录保存Cookie

PlayWright检测用户登录保存Cookie

时间:2024-09-24 17:25:04浏览次数:8  
标签:playwright https 登录 api storage json PlayWright Cookie context

背景

本需求以稀土掘金社区为例

采用PlayWright包

pip install playwright

思路

用户打开软件,提示进入浏览器登录后进行操作

将expect_response()的超时时间设置为无限毫秒

expect_response()函数就是等待指定响应发生的方法

通过手动抓包发现

掘金社区登陆成功后响应返回接口地址如下

https://api.juejin.cn/user_api/v1/user/profile_id

接下来判断返回的json数据是否表示成功

如果含有 "ok" 或者 "success" 的代码或者信息并且此时浏览器页面登陆成功

则表示登录成功

返回的json数据格式如下

{'err_no': 0, 'err_msg': 'success', 'data': {'profile_id': '627171387769035'}}

此时将持久化数据存入storage.json文件中

下次进入新建context时可以根据此文件,直接取出已登陆状态

完整代码

```python

-- coding: utf-8 --

import re from playwright.sync_api import sync_playwright from playwright._impl._errors import TargetClosedError print("请进入浏览器登录后使用") try: with sync_playwright() as p: browser = p.chromium.launch(headless=False) context = browser.new_context( storage_state="storage.json" ) page = context.new_page() page.goto("https://www.juejin.cn/") with page.expect_response(re.compile(r"https://api.juejin.cn/user_api/v1/user/profile_id"),timeout=1000000) as response: data = response.value print(data.json()) context.storage_state(path="storage.json") context.close() browser.close() except TargetClosedError: print("浏览器关闭") pass ```

附录

自动化上传文章软件 https://gitee.com/xiaofengsb/post-sync

云奕科软 https://yunyicloud.cn

标签:playwright,https,登录,api,storage,json,PlayWright,Cookie,context
From: https://www.cnblogs.com/xiaofengs/p/18429631

相关文章

  • 【Vue】修改登录页的用户密码输入框
    一、需求场景当前输入框样式采用element-ui默认表单项样式 需要改造成UI设计的效果 二、实现方式我找了公司之前的项目,发现他们用HTML原生的input标签实现的,需要给原生标签写样式那现在的这个项目是直接用el-input做的,我觉得再用之前项目的实现方式不太理想所以看看能......
  • 55 mysql 的登录认证流程
    前言这里我们来看一下 mysql 的认证的流程 我们这里仅仅看 我们最常见的一个认证的处理流程我们经常会登录的时候 碰到各种异常信息  认证失败的大体流程大概的流程是这样 客户端和服务器建立连接之后, 服务器向客户端发送 salt然后 客户端根据salt 将客户端传入的密......
  • Vitepress 文档加微信网页授权登录功能
    目录前言​准备事项​实现步骤​1.建Vitepress文档项目​2.公众号配置网页授权域名​3.授权服务端开发​4.开发Vitepress登录组件​功能预览​前言​一般情况下使用Vitepress 写在线文档是用不上登录功能。如果想要实现权限控制、付费阅读等功能,不加个登录......
  • VsCode使用git上传代码登录问题
    问题场景我在VsCode上传代码到gitee的时候遇到上传不了的问题,起初我在添加远程仓库链接的时候使用的是ssh链接来上传自己的代码,然而始终上传不了,在上传的时候VsCode一直提醒我是否继续连接,我感觉可能使用ssh链接是连接不上了。然后我去百度了一下,有人说要用http的链接,我就将远......
  • WGCAT 工单系统 如何在登录页面添加验证码
    WGCAT工单管理系统,支持设置登录输入验证码,只需要修改下配置文件就可以了打开配置文件config/application.yml,设置如下配置项#登录页面是否需要显示验证码,yes显示,no不显示vercodeCheck:yes然后重启下程序就好啦......
  • ubuntu 解决scp ssh登录WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
     使用SSH登录某台机器,有时因为server端的一些变动,会出现以下信息:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEO......
  • python爬虫连载26 Cookie和Session
    Cookie和SessionHTTP是无状态的,Cookie和Session则对此作了补充。其中Cookie是保存在客户端,Session保存在服务器端。Cookie是由服务器生成后发送给客户端的,浏览器会解析这些Cookie并将Cookie保存为一个本地文件,浏览器会自动将同一个服务器的任何请求绑定上这些Cookie。Cookie的工作......
  • JavaWeb -Servlet对表单数据的处理 例:登录系统
    一、创建html文件并添加框架内容<tr></tr>是表格标签<td></td>是单元格标签1.添加用户名和密码<inputtype="text"name="username">文本格式(text),函数名是username。<inputtype="password"name="password">密码格式(password),函数名......
  • 第三方系统和金蝶不做单点登录只做用户名密码验证
    项目背景:第三方系统要使用金蝶云星空系统的用户名和密码,但是不做金蝶系统的单点登录,只做金蝶系统的用户名密码校验前提条件:此帖子涉及到的方法需要部署在金蝶内网,并且能登陆金蝶系统后台数据库的前提条件下1、金蝶内网环境下做个自定义接口程序2、接口引用Kingdee.BOS.dll3、C......
  • 【PAM】Linux登录认证限制
    PAM(PluggableAuthenticationModules,可插拔认证模块)是一种灵活的认证框架,用于在Linux和其他类Unix系统上管理用户的身份验证。PAM允许系统管理员通过配置不同的认证模块来定制应用程序和服务的认证方式,而不需要修改这些应用程序的源代码。0、PAM介绍PAM的核心概念......