首页 > 编程语言 >python+playwright 学习-51 登录-验证码识别

python+playwright 学习-51 登录-验证码识别

时间:2023-04-10 10:24:48浏览次数:41  
标签:playwright img python 51 验证码 page 识别 ddddocr yzm

简单的登录验证码,数字和英文组合的,可以轻松识别

登录验证码

如下图登录验证码

验证码是一个图片链接,每次打开页面它会自动刷新

![[Pasted image 20230410084603.png]]

解决思路是先获取到验证码图片,获取验证码图片的方式,可以直接定位到img元素,对元素截图即可

# 保存验证码  
page.locator('#imgCode').screenshot(path='yzm.png')

最后使用ddddocr 快速识别

import ddddocr


# 识别验证码  
ocr = ddddocr.DdddOcr(show_ad=False)  # 实例化  
with open('yzm.png', 'rb') as f:  # 打开图片  
    img_bytes = f.read()  # 读取图片  
yzm = ocr.classification(img_bytes)  # 识别  
print(f'识别到的验证码: {yzm }')

代码示例

先安装ddddocr

pip install ddddocr -i https://pypi.douban.com/simple

完整代码

"""  
简单的图像验证码  
"""  
from playwright.sync_api import sync_playwright  
import ddddocr  
  
  
with sync_playwright() as p:  
    browser = p.chromium.launch(headless=False)  
    context = browser.new_context()  
    page = context.new_page()  
  
    page.goto('https://www.xxx.com/login')  
    page.locator("#email").fill('[email protected]')  
    page.locator('#pwd').fill('111111')  
    # 保存验证码  
    page.locator('#imgCode').screenshot(path='yzm.png')  
  
    # 识别验证码  
    ocr = ddddocr.DdddOcr(show_ad=False)  # 实例化  
    with open('yzm.png', 'rb') as f:  # 打开图片  
        img_bytes = f.read()  # 读取图片  
    yzm = ocr.classification(img_bytes)  # 识别  
    print(f'识别到的验证码: {yzm }')  
  
    # 输入验证码  
    page.locator('#code').fill(yzm)  
  
  
    page.pause()

标签:playwright,img,python,51,验证码,page,识别,ddddocr,yzm
From: https://www.cnblogs.com/yoyoketang/p/17302103.html

相关文章

  • Python Tkinter Menu tearoff
     tkinter的菜单,程序运行的时候菜单之下出现了一个虚线项,如下图红色框:  点击这个虚线选项后,菜单单独浮于应用之上(如下图)。  tearoff选项,当tearoff=1的时候该菜单被设置为可以独立出来的菜单,点击虚线就可以将菜单独立出来,当tearoff=0时就是正常的菜单了,但是默认情况下t......
  • python 字符填充应用
    填充常跟对齐一起使用。^、<、>分别代表居中对齐、左对齐和右对齐,其后面的参数为宽度。冒号:后面为填充的字符,只能是一个字符,默认以空格填充。>>>'{:>10}'.format('32')'32'>>>'{:0>6}'.format('33')'000033'>>>ab=�......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-食谱智能生成从0到1快速入门——官网推荐的48
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • python网络爬虫
    一、爬虫的基本思路打开网页:requests/urllib找到需要的信息:标签/xpath/jsonpath/...获取和存储信息:json文档二、网页的分类1.静态网页源代码中包含需要的信息国务院办公厅关于印发"十四五"国民健康规划的通知爬取方式:直接从源代码中提取需要的信息2.动态网......
  • Python Tkinter config
    PythonTkinterconfigconfig可以设置tkinter组件的样式参数。比如:组件变量.config(background='black')在文本框(Text)和画布(Canvas)中还提供了tag_config和itemconfig函数,用于重新设定元素样式参数。这个参数在动态更新tkinter组件样式,以及在文本框和画布中动态改变元素样式有很......
  • python播放视频
    python播放视频pipinstallpygameimportpygamepygame.init()#Setthedimensionsofthewindowscreen=pygame.display.set_mode((640,480))#Loadthevideofilevideo=pygame.movie.Movie("1.mp4")#Playthevideovideo.play()#Wait......
  • ubuntu安装python环境scikit-learn低版本
    Ubuntu默认使用的是python3.8,要安装插件需要先安装几个依赖包      安装uwsgi需要安装gccpython3.8-dev python-dev      安装scikit-learn旧版本需要安装python3-sklearnpython3-sklearn-lib这两个包,python3.8支持最早的版本是scikit-learn==0.24.2    ......
  • 全网最详细中英文ChatGPT-GPT-4示例文档-文章大纲智能生成器从0到1快速入门——官网推
    目录Introduce简介setting设置Prompt提示Sampleresponse回复样本APIrequest接口请求python接口请求示例node.js接口请求示例curl命令示例json格式示例其它资料下载ChatGPT是目前最先进的AI聊天机器人,它能够理解图片和文字,生成流畅和有趣的回答。如果你想跟上AI时代的潮流......
  • python 基础练习
    f=3d=6#print(f>5ord>5)#print(not(d>5))#(f>5)andprint(111)#输出#print('我是好人%s'%('哈哈'))#name=input('请输入名字')#print('tamadhuaile%s'%(name))#if6>7:#print(222)#e......
  • 20230409-Python-字符串-day6
    字符串4月9字符串是python中最常见的数据类型,我们可以使用单引号''、双引号""、三引号""""""来创建字符串,只要为变量分配一个值即可#单引号var1='helloword'#双引号var2="helloPython"#三引号,可以换行,如果没有变量名,这就是一个多行注释var......