[笔记]自动化中破解验证码操作

软件还得用芯学 2024-11-26 13:46:34
一.需求分析

1.打开一个chrome浏览器2.输入论坛的网址http://114.116.2.138:8090/forum.php3.输入用户名admin4.输入密码1234565.点击登录6.输入验证码7.再点击登录

二.准备工作

selenium环境搭建参考地址:https://blog.csdn.net/python_jeff/article/details/139613463

三.操作步骤第1步:导入webdriver模块

前提: 安装好selenium 环境需要了解:python导入语法

第2步: 打开chrome浏览器

用webdriver模块的Chrome类,对它实例化Chrome首字符大写的,往往是Python中的类名Chrome()这是一个实例化的过程第3步:输入网址

字面翻译:在打开的浏览器driver上.去输入get一个网址

http://114.116.2.138:8090/forum.php

get是HTTP的一种请求方式(引申:学接口的要去懂更多的HTTP请求方式,POST/DELETE/PUT)url的标准格式示例

第4步:输入用户名|密码|点击登录

要会chrome开发者工具

要有HTML的基础

find_element源码

八个定位方法:id、css、xpath是最常用的 css参考:

https://www.w3school.com.cn/cssref/css_selectors.asp

xpath参考:https://www.w3school.com.cn/xpath/xpath_axes.aspWebElement 是ind_element的返回值,可以在这个元素上输入: send_keys 点击:click 获取文本:text第5步:验证码输入

获取验证码图片

注意用到了css定位的[属性^=属性开头的值]的语法python读写文件的open方法wb是write,bytesele_pic.screenshot_as_png:就是当前这个元素的bytes数据首次运行遇到错误

点击了登录后,弹出这个提示,获取验证码,无法定位点击操作往往会产生新的页面,新的页面加载的时候会出现延迟,这个时候等待就需要加入!!引申:selenium的等待强制:sleep隐式:implicitly_wait显式等待:

分析验证码的数据

ddddocr的用法导入ddddocr实例化用classiication获取bytes数据的文本

输入验证码

跟前面一样的,不再赘述

第6步:点击弹出框的登录跟前面一样的,不再赘述

0 阅读:0