selenium 二维码登陆解决方案

2023-11-11

selenium与api 的结合 获取到 qr_id 然后api 带这个qr_id 调用,然后就ok了

实现方式看代码

# -*- coding: utf-8 -*-
# auth: cy
# create 11-27-18
# update
from time import sleep
from Page.api.BuilderBaseFunc import get_ws_driver
from Page.api.builder_api import ws_rq_login_for_app, login
from Page.other.Element import get_element
from Page.web.into_level import get_web_driver
import os
from PIL import Image
import zxing 
from run_path import test_report_path


def QR_code_login():
    driver = get_web_driver('url')  #  二维码登陆url
    image_driver = get_element(driver, ('xpath', "//div[@class='qrcode']"))
    path = test_report_path() + '/Qr_code.png'  # 图片路径
    image_driver.screenshot(path)  # 保存图片
    img = Image.open(path)
    img.save(path)
    zx = zxing.BarCodeReader()  # 调用zxing二维码读取包
    QR_code_info = zx.decode(path)  # 图片解码
    code = str(QR_code_info).split("'")
    os.remove(path)
    ws_driver = get_ws_driver('api url')  # 我用的websocket 开启websocket cline
    sid = (login(ws_driver, 手机号, 密码))['data']['sid']  # 得到sid
    ws_rq_login_for_app(ws_driver, qr_sid=code[1], sid=sid, project_id=1, team_id=1)  # 调用qr_login api 输入参数等
    sleep(20)
    driver.close()
    return code[1]  # 返回记录的内容


if __name__ == '__main__':
    QR_code_login()


然后 就可以登陆成功了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

selenium 二维码登陆解决方案 的相关文章

随机推荐

  • canvas详解00-认识canvas

    身为一个WEB开发人员 肯定都是想着能够开发出酷炫和激动人心的应用程序来 可以很多动画特效 例如黑客帝国的数字 彩色炫酷的例子动效 也可以实现各种图画面板 如实现类似于photoshop的web在线图像编辑 各种酷炫的表单等等 案例 画布是
  • 字母,数字,下划线或者数字的正则表达式

    一 校验数字的表达式 数字 0 9 n位的数字 d n 至少n位的数字 d n m n位的数字 d m n 零和非零开头的数字 0 1 9 0 9 非零开头的最多带两位小数的数字 1 9 0 9 0 9 1 2 带1 2位小数的正数或负数
  • 如何对聚类结果进行分析_层次聚类方法——试验结果与分析

    层次聚类方法存在的不足 在凝聚的层次聚类方法和分裂的层次聚类方法中 均需要用户指定所期望得到的聚类个数和阈值作为聚类过程的终止条件 但是对于复杂的数据来说这是很难事先判定的 层次聚类方法尽管简单 但经常会遇到合并或分裂点选择的困难 这样的决
  • python爬虫https出现SSLError错误的解决办法

    python爬虫https时出现SSLError错误的解决办法 报错 requests exceptions SSLError HTTPSConnectionPool host appconfig2 1234567 com cn port
  • 上海链节科技:区块链正加速赋能实体经济

    眼下 区块链技术的国家层面定位规格越来越高 随着 1024 会议的召开 新基建 范围的明确以及 十四五 规划纲要的正式对外公布 区块链技术的发展与应用逐渐成熟 区块链 正在释放更大的潜能 近日 在第十三届陆家嘴论坛上 前央行行长 博鳌亚洲论
  • 若依 默认展开侧边栏菜单

    打开文件 ruoyi ui src layout components Sidebar index vue 将下面代码覆盖掉原文件中的el menu节点相关代码 参考自 http doc ruoyi vip ruoyi vue other
  • 如何用Python进行数据分析,详细流程讲解!

    1 为什么选择Python进行数据分析 Python是一门动态的 面向对象的脚本语言 同时也是一门简约 通俗易懂的编程语言 Python入门简单 代码可读性强 一段好的Python代码 阅读起来像是在读一篇外语文章 Python这种特性称为
  • PYCHARM 之 VIM 操作

    1 主题 如果你是Vim的粉丝 并且不打算使用其他类型的编辑器 那么这篇教程将会比较适合你 这里将会详细介绍如何在Pycharm IdeaVim插件的帮助下下载 安装 使用Vim 至于有关Python编程以及Vim的用法 详见officia
  • Reachability from the Capital CodeForces - 999E(tarjan模板应用 )

    题目 Berland有n个城市和m条路 每条路连接两个城市 所有路都是单向的 为了能从首都到达所有城市 需要建造的最少的新道路的数量是多少 新建的道路也是单向的 em 其实就是说从这一点出发的 强连通 联想一下之前做过的 最少添加几条边是这
  • threejs三维地图大屏项目分享

    这是最近公司的一个项目 客户的需求是基于总公司和子公司的数据 开发一个数据展示大屏 大屏两边都是一些图表展示数据 中间部分是一个三维中国地图 点击中国地图的某个省份 可以下钻到省份地图的展示 地图上 会做一些数据的标注 信息标牌 如下图所示
  • 射频中的 IM3、IIP3、OIP3、G、P1dB指标之间的关系

    噪声系数与非线性失真是描述射频系统性能优劣的两个重要指标 噪声 限制了系统所能处理的最低信号电平 非线性失真 限制了系统所能处理的最高信号电平 在非线性器件 放大器 混频器等 输入端 输入等幅度不同频率的双音信号 f1 f2 由于器件的非线
  • Wordpress入门建站教程二:搭建WP站点的准备工作

    WordPress入门第一课就简单介绍了WordPress 它是一个使用 PHP语言和 MySQL数据库开发的开源 免费的建站程序 那么搭建WordPress站点 就要求一个能够运行PHP语言的主机空间和一个MySQL数据库 也许有些朋友会
  • JVM性能调优-JVM内存区域划分

    JVM性能调优 JVM内存区域划分 1 程序计数器 线程私有 结论 程序计数器线程私有 并且分配的空间大小不会随程序执行改变 所以不存在内存溢出等异常情况 程序计数器 Program Counter Register 也有称作为PC寄存器
  • 微电网中的最优调度matlab例程,用yalmip+cplex求解器求解,以一天的运行费用最小为目标函数,可用作参考学习。

    微电网中的最优调度matlab例程 用yalmip cplex求解器求解 以一天的运行费用最小为目标函数 可用作参考学习 9515644736113608浪迹天涯
  • 边缘计算——简单易懂的PPT+文字介绍

    边缘计算是续云计算 物联网 5G时代之后的有一个新生代宠儿 这里我分享一个彩蛋 昨天我一个同事理解边缘计算是一种识别算法 觉得通过识别图像数据中的实体的边缘轮廓 得出该实体所表现出来的动作 比如扒窃动作识别 打架行为识别等 其实不然 边缘计
  • Shell编程条件语句

    目录 一 条件测试 1 test命令 2 条件测试 常用的测试操作符 3 字符串比较 常用选项 4 逻辑测试 二 if语句 1 if单分支语句 2 if双分支语句 3 if多分支语句 学生考试成绩判断 圆的面积计算案例 三 case语句 1
  • 复变函数与积分变换系列(一) - 复变函数与解析函数

    复变函数与解析函数 Author Benjamin142857 TOC 0 几个基本概念 实虚部 P l u r a l
  • 关于代码评审

    代码评审实际是编写代码的开发人员在被复查 它是最小化缺陷的有效方法 无论公司实行代码评审的额外动机是什么 代码评审都是工业化的最优方法 一 代码评审目的 1 确保要发布质量可靠的代码 代码评审能非常有效地发现所有类型的错误 包括那些由于不正
  • Java基础三

    表达式自动提升类型 在程序中出现直接写出来的数字 如果是整数默认类型为int 如果为小数默认类型为double 一个表达式中包含多种数据类型时 结果的数据类型会自动提升 规则如下 byte short char 自动提升为int 整个表达式
  • selenium 二维码登陆解决方案

    selenium与api 的结合 获取到 qr id 然后api 带这个qr id 调用 然后就ok了 实现方式看代码 coding utf 8 auth cy create 11 27 18 update from time import