Python自动化:账号密码获取计算题验证码

实现自动化登录和获取图片验证码功能

  1. 计算题验证码使用的OCR是ddddocr,经过实践比tesseract精度更高
  2. 对于页面具体的find_element需要结合源网址进行一定的修改,请注意
# 自动添加用户名,密码,计算题验证码from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time
from PIL import Image
import re
from io import BytesIO
from selenium.webdriver.common.by import By
import pytesseract
import base64
from ddddocr import DdddOcr# 实例化一个Chrome WebDriver
driver = webdriver.Chrome()# 打开登录页面
driver.get("这里写网址")# 等待页面加载
time.sleep(2)# 查找用户名和密码输入框
username_input = driver.find_element(By.CSS_SELECTOR, 'input[placeholder="请输入用户名"]')
password_input = driver.find_element(By.CSS_SELECTOR, 'input[placeholder="请输入密码"]')username_input.send_keys("这里写账号名")
password_input.send_keys("这里写密码")# 查找验证码图片元素
captcha_image_element = driver.find_element(By.CLASS_NAME, 'captch-img')# 获取验证码图片的 base64 编码
captcha_base64 = captcha_image_element.get_attribute("src").split(",")[1]# 解码base64编码的图片
captcha_image = Image.open(BytesIO(base64.b64decode(captcha_base64)))# 使用ddddocr进行OCR识别
ocr = DdddOcr(beta=True)
captcha_text = ocr.classification(captcha_image)# 去掉最后一个字符
captcha_text = captcha_text[:-1]print("识别的验证码:", captcha_text)# 从验证码中提取算术表达式
calculation = re.search(r'(\d+)\s*([-+])\s*(\d+)', captcha_text)
if calculation:num1 = int(calculation.group(1))operator = calculation.group(2)num2 = int(calculation.group(3))# 计算结果if operator == '+':result = num1 + num2elif operator == '-':result = num1 - num2else:result = Noneprint("计算结果:", result)
else:print("未能提取算术表达式")# 将结果填入验证码输入框 
input_element = driver.find_element(By.CSS_SELECTOR, 'input[placeholder="请输入验证码"]')
input_element.clear()
input_element.send_keys(str(result))# 提交登录表单
login_button = driver.find_element(By.CSS_SELECTOR, 'button.el-button.login_text.lg-btn.el-button--primary.el-button--medium')
login_button.click()# 等待登录成功后页面加载完成
time.sleep(2)#显示登录成功
print("登录成功")# 关闭浏览器
driver.quit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10655.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

react 组件表格固定底部

在React中&#xff0c;要实现一个组件表格并且固定底部&#xff0c;可以使用CSS的固定定位或绝对定位来实现。以下是一个简单的例子&#xff1a; import React from react; import ./App.css;function App() {return (<div className"App"><div className&…

【PHP【实战版】系统性学习】——登录注册页面的教程,让编写PHP注册变成一个简单的事情

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;开发者-曼亿点 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 曼亿点 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a…

无人机+通信中继:短波电台技术详解

随着无线通信技术的不断发展&#xff0c;无人机作为一种新型的信息传输平台&#xff0c;已经在多个领域得到了广泛应用。其中&#xff0c;无人机与短波电台的结合&#xff0c;为通信中继领域带来了全新的可能性。本文将详细解析无人机在通信中继中的应用&#xff0c;以及短波电…

sentinel搭建及使用

1.添加依赖&#xff08;版本可依赖于父pom&#xff09; SentinalResource注解&#xff1a; 添加依赖&#xff1a; blockhandler: fallback:

简易留言板

目录 前端实现 数据库的使用 创建数据表 创建项目 连接数据库 后端实现 接口定义 持久层 业务逻辑层 控制层 前端代码完善 留言板是一个常见的功能&#xff0c;在本篇文章中&#xff0c;将实现一个简易的留言板&#xff1a; 页面中能够显示所有留言内容&#xff0c…

《视觉十四讲》例程运行记录(6)——运行ch9后端优化CeresBA和g2o求解BA的实践例程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、运行ch9的例程代码1. MeshLab安装2. 编译例程代码前的修改3. 编译例程 一、运行ch9的例程代码 1. MeshLab安装 (1) 软件中心安装 搜索&#xff1a;MeshLab&am…

oracle 新_多种块大小的支持9i

oracle 新_多种块大小的支持 conn sys/sys as sysdba SHOW PARAMETER CACHE ALTER SYSTEM SET DB_CACHE_SIZE16M; ALTER SYSTEM SET DB_4K_CACHE_SIZE8M; CREATE TABLESPACE K4 DATAFILE F:\ORACLE\ORADATA\ZL9\K4.DBF SIZE 2M BLOCKSIZE 4K; CREATE TABLE SCOTT.A1 TABLESP…

LVDS 接口标准和规范

低压差分信号具有传输速率快、抗干扰性强的特点&#xff0c;是现在广泛应用的数据接口标准之一。Xilinx FPGA支持LVDS电平标准&#xff0c;并提供了动态相位调整解决方案&#xff0c;解决了基于LVDS源同步传输时存在的数据偏斜问题。 1 LVDS 技术规范简介 随着接口和背板信号…

乡村振兴与乡村振兴战略的深度融合:落实乡村振兴战略,推动乡村全面发展,打造富强民主文明和谐美丽的社会主义现代化新农村

一、引言 在全面建设社会主义现代化国家的新征程中&#xff0c;乡村振兴战略承载着推动乡村全面发展、实现农业农村现代化的重大使命。乡村振兴战略的实施&#xff0c;不仅关系到亿万农民的福祉&#xff0c;也关系到国家整体发展的质量和水平。因此&#xff0c;深化乡村振兴与…

网安面经之SSRF漏洞

一、ssrf漏洞 1、ssrf原理&#xff1f;危害&#xff1f;修复&#xff08;防御&#xff09;&#xff1f; 原理&#xff1a;SSRF就是服务器端请求伪造漏洞、它是一种由攻击者构造&#xff0c;由服务端发起请求的一个网络攻击&#xff0c;一般用来在外网探测或攻击内网服务&…

geoserver SQL注入、Think PHP5 SQL注入、spring命令注入

文章目录 一、geoserver SQL注入CVE-2023-25157二、Think PHP5 SQL注入三、Spring Cloud Function SpEL表达式命令注入&#xff08;CVE-2022-22963&#xff09; 一、geoserver SQL注入CVE-2023-25157 介绍&#xff1a;GeoServer是一个开源的地理信息系统&#xff08;GIS&#…

洛谷 P4148:简单题 ← KD-Tree模板题

【题目来源】https://www.luogu.com.cn/problem/P4148【题目描述】 你有一个 NN 的棋盘&#xff0c;每个格子内有一个整数&#xff0c;初始时的时候全部为 0&#xff0c;现在需要维护两种操作&#xff1a; ● 1 x y A → 1≤x,y≤N&#xff0c;A 是正整数。将格子 (x,y) 里的数…

C语言-STM32:介绍PWM,并使用PWM实现呼吸灯

1、什么是PWM PWM&#xff0c;全称为Pulse Width Modulation&#xff0c;中文名为脉冲宽度调制。这是一种模拟控制技术&#xff0c;通过改变脉冲信号的宽度来表征一个连续变量的平均值&#xff0c;通常用于对模拟信号的数字化控制&#xff0c;特别是在功率转换和信号处理中非常…

基于微信小程序的图书馆预约系统的设计与实现

个人介绍 hello hello~ &#xff0c;这里是 code袁~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f981;作者简介&#xff1a;一名喜欢分享和记录学习的…

HTML5为网页开发者提供了许多新的和增强的表单控件

H5&#xff0c;即HTML5&#xff0c;为网页开发者提供了许多新的和增强的表单控件&#xff0c;这些控件不仅提高了用户体验&#xff0c;还增强了表单的交互性和功能性。以下是HTML5中新增的一些主要表单控件及其详细介绍&#xff1a; <input type"date">&#x…

奥特曼倡导将AI计算能力作为货币免费发给老百姓

奥特曼表示&#xff0c;应该有通用基本计算&#xff0c;而不是通用基本收入UBI&#xff0c;每个人都能获得 GPT-7 计算的一部分。 OpenAI 首席执行官山姆-奥特曼&#xff08;Sam Altman&#xff09;提出了一种替代传统全民基本收入&#xff08;UBI&#xff09;的方案&#xff…

linux系统(ubuntu)调用科大讯飞SDK实现语音识别

1. 科大讯飞官网 登录注册实名制 2. 点击控制台&#xff0c;创建应用 点击左侧的语音听写&#xff0c;右边下滑选择Linux&#xff0c;点击下载 选择Linux平台&#xff0c;普通版本&#xff0c;语音听写&#xff0c;SDK下载 此时将得到一个压缩包&#xff0c;选择的功能不…

iOS 生成SSH Key

一. 参考文章 参考文章 二. SSH Key作用 SSH Key提供了一种和github通信的方式&#xff0c;通过这种方式&#xff0c;能够在不输入密码的情况下&#xff0c;将github作为自己的remote远程服务器&#xff0c;进行版本控制。 三. 使用SSH Key的步骤 ** 先设置git的用户名和密码 …

【socket】 linux C++ socket 优化参数

linux C socket 优化参数 在C的Linux Socket编程中&#xff0c;可以通过调整一些参数来优化Socket的性能和可靠性。以下是一些常用的参数和优化方法&#xff1a; TCP_NODELAY&#xff1a;这个选项可以禁用Nagle算法&#xff0c;从而减小延迟。Nagle算法是一种优化TCP网络传输…

集成平台建设方案(大数据中台技术方案)—Word原件

基础支撑平台主要承担系统总体架构与各个应用子系统的交互&#xff0c;第三方系统与总体架构的交互。需要满足内部业务在该平台的基础上&#xff0c;实现平台对于子系统的可扩展性。基于以上分析对基础支撑平台&#xff0c;提出了以下要求&#xff1a; 基于平台的基础架构&…