码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python一炮句搞定网页登录验证码自动输入


    前言:本来是“账号+密码”的登录方式,突然就增加了验证码输入,还30秒一变。

     查看元素

    链接为一个png图片文件,每半分钟一更新,意思就是慢了还不行。

    思路:OCR识别图片中的文本。图片的网络地址直接传送识别?不行。保存图片文件到本地,再识别?不好。截屏再剪切局部区域,太麻烦。直接利用selenium自带的screenshot_as_png高效实现。

    步骤:

    1.百度OCR吧,pip install baidu-aip安装。以前用过,现在居然收费了,一年50块10000次,腾讯好象还可以免费用(ID都在单位电脑上,上班再试试),算了,就急,先用吧。安装后要导入:from aip import AipOcr,当然三个字串不能少:APP_ID、API_KEY、SECRET_KEY。

    2.代码

    def mark_ocr(png_data):##
        client = AipOcr("15441825", "VAg0XiGrW2j1MfMK43Bzmoy5", "3GuciPY1Ziqp4FrTIYcfjGL1Lh95HG7o")
        res = client.basicGeneral(png_data, {})
        txt=res['words_result'][0]['words']
        return txt
        
    def login():
        print('开始登录...')
        obj.get(url_login)
        WebDriverWait(obj,60).until(EC.visibility_of_any_elements_located((By.XPATH,'//*[@id="username"]')))
        pic_obj=obj.find_element_by_id('img_code')#查找验证码图片
        png_data=pic_obj.screenshot_as_png#局部剪切为图片PNG数据
        mark_txt=mark_ocr(png_data)#送百度在线识别为验证码文本
        obj.find_element_by_name('username').send_keys('ID123456')
        obj.find_element_by_id('password').send_keys('X123456abc')
        print(u'账号密码输入完成!')
        obj.find_element_by_id('imgcode').send_keys(mark_txt)#
        print(u'验证码输入完成!')#
        obj.find_element_by_id('fm-login-submit').click()

  • 相关阅读:
    python+pytest接口自动化(3)-接口测试一般流程及方法
    tree-shaking
    【笔记】电商订单数据分析实战
    springboot专利申请服务平台毕业设计源码260839
    【Redis】解决全局唯一 id 问题
    【LeetCode每日一题】——38.外观数列
    Problem D. 送快递 【最短路 | 反悔贪心(堆维护)】
    元数据管理平台对比预研 Atlas VS Datahub VS Openmetadata
    《向量数据库指南》——向量数据库内核面临的技术挑战及应对措施
    统计字符串中不同回文子序列的个数
  • 原文地址:https://blog.csdn.net/woho778899/article/details/128066739
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号